dhtmlx-scheduler 7.2.5 → 7.2.8

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.
@@ -1,6 +1,6 @@
1
1
  /** @license
2
2
 
3
- dhtmlxScheduler v.7.2.5 Standard
3
+ dhtmlxScheduler v.7.2.8 Standard
4
4
 
5
5
  To use dhtmlxScheduler in non-GPL projects (and get Pro version of the product), please obtain Commercial/Enterprise or Ultimate license on our site https://dhtmlx.com/docs/products/dhtmlxScheduler/#licensing or contact us at sales@dhtmlx.com
6
6
 
@@ -163,21 +163,21 @@ function dragHighlightPos(scheduler2) {
163
163
  }
164
164
  return unitMarkersArray;
165
165
  }
166
- scheduler2.attachEvent("onBeforeDrag", function(id2, mode, e) {
166
+ scheduler2.attachEvent("onBeforeDrag", function(id, mode, e) {
167
167
  if (isEnabled2()) {
168
168
  dragStarted = true;
169
- event2 = scheduler2.getEvent(id2);
169
+ event2 = scheduler2.getEvent(id);
170
170
  eventNode = e.target.closest(`[${scheduler2.config.event_attribute}]`);
171
171
  const viewName = scheduler2.getState().mode;
172
172
  const layout = checkViewName(viewName);
173
173
  if (layout == "units" && scheduler2.config.cascade_event_display) {
174
- scheduler2.unselect(id2);
174
+ scheduler2.unselect(id);
175
175
  eventNode = e.target.closest(`[${scheduler2.config.event_attribute}]`);
176
176
  }
177
177
  }
178
178
  return true;
179
179
  });
180
- scheduler2.attachEvent("onEventDrag", function(id2, mode, e) {
180
+ scheduler2.attachEvent("onEventDrag", function(id, mode, e) {
181
181
  if (dragStarted && isEnabled2()) {
182
182
  dragStarted = false;
183
183
  const viewName = scheduler2.getState().mode;
@@ -189,7 +189,7 @@ function dragHighlightPos(scheduler2) {
189
189
  }
190
190
  }
191
191
  });
192
- scheduler2.attachEvent("onDragEnd", function(id2, mode, e) {
192
+ scheduler2.attachEvent("onDragEnd", function(id, mode, e) {
193
193
  for (let i = 0; i < dndMarkers.length; i++) {
194
194
  scheduler2.unmarkTimespan(dndMarkers[i]);
195
195
  }
@@ -200,13 +200,13 @@ function dragHighlightPos(scheduler2) {
200
200
  }
201
201
  function undoDelete(scheduler2) {
202
202
  const undoableDeletes = {};
203
- scheduler2.attachEvent("onConfirmedBeforeEventDelete", function(id2) {
204
- undoableDeletes[id2] = true;
203
+ scheduler2.attachEvent("onConfirmedBeforeEventDelete", function(id) {
204
+ undoableDeletes[id] = true;
205
205
  return true;
206
206
  });
207
- scheduler2.attachEvent("onEventDeleted", function(id2, ev) {
208
- if (undoableDeletes[id2]) {
209
- delete undoableDeletes[id2];
207
+ scheduler2.attachEvent("onEventDeleted", function(id, ev) {
208
+ if (undoableDeletes[id]) {
209
+ delete undoableDeletes[id];
210
210
  } else {
211
211
  return;
212
212
  }
@@ -564,10 +564,17 @@ function limitPlugin(scheduler2) {
564
564
  scheduler2._get_block_by_config = function(config) {
565
565
  var block = document.createElement("div");
566
566
  if (config.html) {
567
- if (typeof config.html == "string")
567
+ let html = config.html;
568
+ if (typeof html == "function") {
569
+ html = html(config);
570
+ }
571
+ if (typeof html == "string")
568
572
  block.innerHTML = config.html;
569
- else
570
- block.appendChild(config.html);
573
+ else if (scheduler2.config.external_render && scheduler2.config.external_render.isElement(html)) {
574
+ scheduler2.config.external_render.renderElement(html, block);
575
+ } else {
576
+ block.appendChild(html);
577
+ }
571
578
  }
572
579
  return block;
573
580
  };
@@ -726,14 +733,14 @@ function limitPlugin(scheduler2) {
726
733
  scheduler2._addMarkerTimespanConfig = function(config) {
727
734
  var global2 = "global";
728
735
  var timespans = scheduler2._marked_timespans;
729
- var id2 = config.id;
736
+ var id = config.id;
730
737
  var ids = scheduler2._marked_timespans_ids;
731
- if (!ids[id2])
732
- ids[id2] = [];
738
+ if (!ids[id])
739
+ ids[id] = [];
733
740
  var day = config.days;
734
741
  var sections = config.sections;
735
742
  var type = config.type;
736
- config.id = id2;
743
+ config.id = id;
737
744
  if (sections) {
738
745
  for (var view_key in sections) {
739
746
  if (sections.hasOwnProperty(view_key)) {
@@ -755,7 +762,7 @@ function limitPlugin(scheduler2) {
755
762
  var day_configs = timespans_view[unit_id][day][type];
756
763
  config._array = day_configs;
757
764
  day_configs.push(config);
758
- ids[id2].push(config);
765
+ ids[id].push(config);
759
766
  }
760
767
  }
761
768
  } else {
@@ -770,7 +777,7 @@ function limitPlugin(scheduler2) {
770
777
  var day_configs = timespans[global2][day][type];
771
778
  config._array = day_configs;
772
779
  day_configs.push(config);
773
- ids[id2].push(config);
780
+ ids[id].push(config);
774
781
  }
775
782
  };
776
783
  scheduler2._marked_timespans_ids = {};
@@ -778,11 +785,11 @@ function limitPlugin(scheduler2) {
778
785
  var configs = scheduler2._prepare_timespan_options(configuration);
779
786
  if (!configs.length)
780
787
  return;
781
- var id2 = configs[0].id;
788
+ var id = configs[0].id;
782
789
  for (var i = 0; i < configs.length; i++) {
783
790
  scheduler2._addMarkerTimespanConfig(configs[i]);
784
791
  }
785
- return id2;
792
+ return id;
786
793
  };
787
794
  scheduler2._add_timespan_zones = function(current_zones, zones) {
788
795
  var resulting_zones = current_zones.slice();
@@ -844,8 +851,8 @@ function limitPlugin(scheduler2) {
844
851
  scheduler2.invertZones = function(zones) {
845
852
  return scheduler2._subtract_timespan_zones([0, 1440], zones.slice());
846
853
  };
847
- scheduler2._delete_marked_timespan_by_id = function(id2) {
848
- var configs = scheduler2._marked_timespans_ids[id2];
854
+ scheduler2._delete_marked_timespan_by_id = function(id) {
855
+ var configs = scheduler2._marked_timespans_ids[id];
849
856
  if (configs) {
850
857
  for (var i = 0; i < configs.length; i++) {
851
858
  var config = configs[i];
@@ -1287,12 +1294,12 @@ function createHandlers(scheduler2) {
1287
1294
  return;
1288
1295
  }
1289
1296
  const { type, event: event2 } = message2;
1290
- if (scheduler2._dp._in_progress[event2.id]) {
1297
+ if (scheduler2._dp && scheduler2._dp._in_progress[event2.id]) {
1291
1298
  return;
1292
1299
  }
1293
1300
  if (type === "add-event") {
1294
- for (const id2 in scheduler2._dp._in_progress) {
1295
- if (scheduler2._dp.getState(id2) === "inserted") {
1301
+ for (const id in scheduler2._dp._in_progress) {
1302
+ if (scheduler2._dp.getState(id) === "inserted") {
1296
1303
  scheduler2._dp.attachEvent("onFullSync", function() {
1297
1304
  if (!scheduler2.getEvent(event2.id)) {
1298
1305
  processUpdate(type, event2);
@@ -1366,7 +1373,7 @@ function createHandlers(scheduler2) {
1366
1373
  function handleDeleteEvent(eventData) {
1367
1374
  const sid = eventData.id;
1368
1375
  if (!scheduler2.getEvent(sid)) {
1369
- if (eventData.event_pid) {
1376
+ if (eventData.event_pid || eventData.recurring_event_id) {
1370
1377
  ignore(() => {
1371
1378
  scheduler2.addEvent(eventData);
1372
1379
  });
@@ -1548,7 +1555,7 @@ function assert(scheduler2) {
1548
1555
  }
1549
1556
  function extend$n(scheduler2) {
1550
1557
  var commonViews = { agenda: "https://docs.dhtmlx.com/scheduler/agenda_view.html", grid: "https://docs.dhtmlx.com/scheduler/grid_view.html", map: "https://docs.dhtmlx.com/scheduler/map_view.html", unit: "https://docs.dhtmlx.com/scheduler/units_view.html", timeline: "https://docs.dhtmlx.com/scheduler/timeline_view.html", week_agenda: "https://docs.dhtmlx.com/scheduler/weekagenda_view.html", year: "https://docs.dhtmlx.com/scheduler/year_view.html", anythingElse: "https://docs.dhtmlx.com/scheduler/views.html" };
1551
- var requiredExtensions = { agenda: "ext/dhtmlxscheduler_agenda_view.js", grid: "ext/dhtmlxscheduler_grid_view.js", map: "ext/dhtmlxscheduler_map_view.js", unit: "ext/dhtmlxscheduler_units.js", timeline: "ext/dhtmlxscheduler_timeline.js, ext/dhtmlxscheduler_treetimeline.js, ext/dhtmlxscheduler_daytimeline.js", week_agenda: "ext/dhtmlxscheduler_week_agenda.js", year: "ext/dhtmlxscheduler_year_view.js", limit: "ext/dhtmlxscheduler_limit.js" };
1558
+ var requiredExtensions = { agenda: "scheduler.plugins({ agenda_view: true })", grid: "scheduler.plugins({ grid_view: true })", map: "scheduler.plugins({ map_view: true })", unit: "scheduler.plugins({ units: true })", timeline: "scheduler.plugins({ timeline: true, treetimeline: true, daytimeline: true})", week_agenda: "scheduler.plugins({ week_agenda: true })", year: "scheduler.plugins({ year_view: true })", limit: "scheduler.plugins({ limit: true })" };
1552
1559
  scheduler2._commonErrorMessages = { unknownView: function(view) {
1553
1560
  var relatedDoc = "Related docs: " + (commonViews[view] || commonViews.anythingElse);
1554
1561
  var relatedExtension = requiredExtensions[view] ? "You're probably missing " + requiredExtensions[view] + "." : "";
@@ -1566,10 +1573,10 @@ function extend$n(scheduler2) {
1566
1573
  throw new Error("scheduler.createGridView is not implemented. Be sure to add the required extension: " + requiredExtensions.grid + "\nRelated docs: " + commonViews.grid);
1567
1574
  };
1568
1575
  scheduler2.addMarkedTimespan = function() {
1569
- throw new Error("scheduler.addMarkedTimespan is not implemented. Be sure to add the required extension: ext/dhtmlxscheduler_limit.js\nRelated docs: https://docs.dhtmlx.com/scheduler/limits.html");
1576
+ throw new Error("scheduler.addMarkedTimespan is not implemented. Be sure to add the required extension: scheduler.plugins({ limit: true })\nRelated docs: https://docs.dhtmlx.com/scheduler/limits.html");
1570
1577
  };
1571
1578
  scheduler2.renderCalendar = function() {
1572
- throw new Error("scheduler.renderCalendar is not implemented. Be sure to add the required extension: ext/dhtmlxscheduler_minical.js\nhttps://docs.dhtmlx.com/scheduler/minicalendar.html");
1579
+ throw new Error("scheduler.renderCalendar is not implemented. Be sure to add the required extension: scheduler.plugins({ minical: true })\nhttps://docs.dhtmlx.com/scheduler/minicalendar.html");
1573
1580
  };
1574
1581
  scheduler2.exportToPNG = function() {
1575
1582
  throw new Error(["scheduler.exportToPNG is not implemented.", "This feature requires an additional module, be sure to check the related doc here https://docs.dhtmlx.com/scheduler/png.html", "Licensing info: https://dhtmlx.com/docs/products/dhtmlxScheduler/export.shtml"].join("\n"));
@@ -1959,8 +1966,8 @@ const createEventStorage = function(obj) {
1959
1966
  }
1960
1967
  return false;
1961
1968
  };
1962
- eventStorage.removeEvent = function(id2) {
1963
- delete handlers[id2];
1969
+ eventStorage.removeEvent = function(id) {
1970
+ delete handlers[id];
1964
1971
  };
1965
1972
  eventStorage.clear = function() {
1966
1973
  handlers = {};
@@ -2003,13 +2010,13 @@ function makeEventable(obj) {
2003
2010
  const listeners = eventHost.listeners;
2004
2011
  return !!listeners["ev_" + name.toLowerCase()];
2005
2012
  };
2006
- obj.detachEvent = function(id2) {
2007
- if (id2) {
2013
+ obj.detachEvent = function(id) {
2014
+ if (id) {
2008
2015
  let listeners = eventHost.listeners;
2009
2016
  for (const i in listeners) {
2010
- listeners[i].removeEvent(id2);
2017
+ listeners[i].removeEvent(id);
2011
2018
  }
2012
- const list = id2.split(":");
2019
+ const list = id.split(":");
2013
2020
  listeners = eventHost.listeners;
2014
2021
  if (list.length === 2) {
2015
2022
  const eventName = list[0];
@@ -2029,11 +2036,11 @@ function makeEventable(obj) {
2029
2036
  function extend$j(scheduler2) {
2030
2037
  makeEventable(scheduler2);
2031
2038
  extend$l(scheduler2);
2032
- scheduler2._detachDomEvent = function(el2, event2, handler) {
2033
- if (el2.removeEventListener) {
2034
- el2.removeEventListener(event2, handler, false);
2035
- } else if (el2.detachEvent) {
2036
- el2.detachEvent("on" + event2, handler);
2039
+ scheduler2._detachDomEvent = function(el, event2, handler) {
2040
+ if (el.removeEventListener) {
2041
+ el.removeEventListener(event2, handler, false);
2042
+ } else if (el.detachEvent) {
2043
+ el.detachEvent("on" + event2, handler);
2037
2044
  }
2038
2045
  };
2039
2046
  scheduler2._init_once = function() {
@@ -2084,7 +2091,7 @@ function extend$j(scheduler2) {
2084
2091
  });
2085
2092
  return views.concat(date).concat(nav);
2086
2093
  }
2087
- scheduler2.init = function(id2, date, mode) {
2094
+ scheduler2.init = function(id, date, mode) {
2088
2095
  if (this.$destroyed) {
2089
2096
  return;
2090
2097
  }
@@ -2093,7 +2100,7 @@ function extend$j(scheduler2) {
2093
2100
  if (this._obj) {
2094
2101
  this.unset_actions();
2095
2102
  }
2096
- this._obj = typeof id2 == "string" ? document.getElementById(id2) : id2;
2103
+ this._obj = typeof id == "string" ? document.getElementById(id) : id;
2097
2104
  this.$container = this._obj;
2098
2105
  this.$root = this._obj;
2099
2106
  if (!this.$container.offsetHeight && this.$container.offsetWidth && this.$container.style.height === "100%") {
@@ -2277,20 +2284,20 @@ function extend$j(scheduler2) {
2277
2284
  return returnValue;
2278
2285
  });
2279
2286
  };
2280
- scheduler2.select = function(id2) {
2281
- if (this._select_id == id2)
2287
+ scheduler2.select = function(id) {
2288
+ if (this._select_id == id)
2282
2289
  return;
2283
2290
  scheduler2._close_not_saved();
2284
2291
  this.editStop(false);
2285
2292
  if (this._select_id) {
2286
2293
  this.unselect();
2287
2294
  }
2288
- this._select_id = id2;
2289
- this.updateEvent(id2);
2290
- this.callEvent("onEventSelected", [id2]);
2295
+ this._select_id = id;
2296
+ this.updateEvent(id);
2297
+ this.callEvent("onEventSelected", [id]);
2291
2298
  };
2292
- scheduler2.unselect = function(id2) {
2293
- if (id2 && id2 != this._select_id) {
2299
+ scheduler2.unselect = function(id) {
2300
+ if (id && id != this._select_id) {
2294
2301
  return;
2295
2302
  }
2296
2303
  const previousSelection = this._select_id;
@@ -2311,19 +2318,19 @@ function extend$j(scheduler2) {
2311
2318
  scheduler2._ignore_next_click = false;
2312
2319
  return false;
2313
2320
  }
2314
- const id2 = scheduler2._locate_event(e.target);
2315
- if (!id2) {
2321
+ const id = scheduler2._locate_event(e.target);
2322
+ if (!id) {
2316
2323
  scheduler2.callEvent("onEmptyClick", [scheduler2.getActionData(e).date, e]);
2317
2324
  } else {
2318
- if (!scheduler2.callEvent("onClick", [id2, e]) || scheduler2.config.readonly)
2325
+ if (!scheduler2.callEvent("onClick", [id, e]) || scheduler2.config.readonly)
2319
2326
  return;
2320
2327
  }
2321
- if (id2 && scheduler2.config.select) {
2322
- scheduler2.select(id2);
2328
+ if (id && scheduler2.config.select) {
2329
+ scheduler2.select(id);
2323
2330
  const icon = e.target.closest(".dhx_menu_icon");
2324
2331
  const mask = scheduler2._getClassName(icon);
2325
2332
  if (mask.indexOf("_icon") != -1)
2326
- scheduler2._click.buttons[mask.split(" ")[1].replace("icon_", "")](id2);
2333
+ scheduler2._click.buttons[mask.split(" ")[1].replace("icon_", "")](id);
2327
2334
  } else {
2328
2335
  scheduler2._close_not_saved();
2329
2336
  if (scheduler2.getState().select_id && (/* @__PURE__ */ new Date()).valueOf() - (scheduler2._new_event || 0) > 500) {
@@ -2348,20 +2355,20 @@ function extend$j(scheduler2) {
2348
2355
  const deprecated_name = this.getAttribute("name");
2349
2356
  const mode = name || deprecated_name.substring(0, deprecated_name.search("_tab"));
2350
2357
  scheduler2.setCurrentView(scheduler2._date, mode);
2351
- }, buttons: { delete: function(id2) {
2358
+ }, buttons: { delete: function(id) {
2352
2359
  const c = scheduler2.locale.labels.confirm_deleting;
2353
- scheduler2._dhtmlx_confirm({ message: c, title: scheduler2.locale.labels.title_confirm_deleting, callback: function() {
2354
- scheduler2.deleteEvent(id2);
2360
+ scheduler2._delete_event_confirm({ event: scheduler2.getEvent(id), message: c, title: scheduler2.locale.labels.title_confirm_deleting, callback: function() {
2361
+ scheduler2.deleteEvent(id);
2355
2362
  }, config: { ok: scheduler2.locale.labels.icon_delete } });
2356
- }, edit: function(id2) {
2357
- scheduler2.edit(id2);
2358
- }, save: function(id2) {
2363
+ }, edit: function(id) {
2364
+ scheduler2.edit(id);
2365
+ }, save: function(id) {
2359
2366
  scheduler2.editStop(true);
2360
- }, details: function(id2) {
2361
- scheduler2.showLightbox(id2);
2362
- }, form: function(id2) {
2363
- scheduler2.showLightbox(id2);
2364
- }, cancel: function(id2) {
2367
+ }, details: function(id) {
2368
+ scheduler2.showLightbox(id);
2369
+ }, form: function(id) {
2370
+ scheduler2.showLightbox(id);
2371
+ }, cancel: function(id) {
2365
2372
  scheduler2.editStop(false);
2366
2373
  } } };
2367
2374
  scheduler2._dhtmlx_confirm = function({ message: message2, title, callback, config }) {
@@ -2436,13 +2443,13 @@ function extend$j(scheduler2) {
2436
2443
  case "dhx_grid_event":
2437
2444
  case "dhx_cal_event_line":
2438
2445
  case "dhx_cal_event_clear": {
2439
- const id2 = this._locate_event(src);
2440
- if (!this.callEvent("onDblClick", [id2, e]))
2446
+ const id = this._locate_event(src);
2447
+ if (!this.callEvent("onDblClick", [id, e]))
2441
2448
  return;
2442
- if (this.config.details_on_dblclick || this._table_view || !this.getEvent(id2)._timed || !this.config.select)
2443
- this.showLightbox(id2);
2449
+ if (this.config.details_on_dblclick || this._table_view || !this.getEvent(id)._timed || !this.config.select)
2450
+ this.showLightbox(id);
2444
2451
  else
2445
- this.edit(id2);
2452
+ this.edit(id);
2446
2453
  break;
2447
2454
  }
2448
2455
  case "dhx_time_block":
@@ -2846,8 +2853,8 @@ function extend$j(scheduler2) {
2846
2853
  }
2847
2854
  } else {
2848
2855
  if (scheduler2.checkEvent("onMouseMove")) {
2849
- var id2 = this._locate_event(e.target || e.srcElement);
2850
- this.callEvent("onMouseMove", [id2, e]);
2856
+ var id = this._locate_event(e.target || e.srcElement);
2857
+ this.callEvent("onMouseMove", [id, e]);
2851
2858
  }
2852
2859
  }
2853
2860
  };
@@ -2905,11 +2912,11 @@ function extend$j(scheduler2) {
2905
2912
  break;
2906
2913
  }
2907
2914
  if (this._drag_mode) {
2908
- var id2 = this._locate_event(src);
2909
- if (!this.config["drag_" + this._drag_mode] || !this.callEvent("onBeforeDrag", [id2, this._drag_mode, e]))
2915
+ var id = this._locate_event(src);
2916
+ if (!this.config["drag_" + this._drag_mode] || !this.callEvent("onBeforeDrag", [id, this._drag_mode, e]))
2910
2917
  this._drag_mode = this._drag_id = 0;
2911
2918
  else {
2912
- this._drag_id = id2;
2919
+ this._drag_id = id;
2913
2920
  if (this._edit_id != this._drag_id || this._edit_id && this._drag_mode == "create")
2914
2921
  this._close_not_saved();
2915
2922
  if (!this._drag_mode)
@@ -2964,6 +2971,7 @@ function extend$j(scheduler2) {
2964
2971
  if (is_new && this.config.edit_on_create) {
2965
2972
  this.unselect();
2966
2973
  this._new_event = /* @__PURE__ */ new Date();
2974
+ ev.$new = true;
2967
2975
  if (this._table_view || this.config.details_on_create || !this.config.select || !this.isOneDayEvent(this.getEvent(drag_id))) {
2968
2976
  scheduler2.callEvent("onDragEnd", [drag_id, mode, e]);
2969
2977
  return this.showLightbox(drag_id);
@@ -3638,30 +3646,30 @@ function extend$j(scheduler2) {
3638
3646
  return state.lightbox_id !== null && state.lightbox_id !== void 0;
3639
3647
  };
3640
3648
  }
3641
- const defaultDomEvents = { event: function(el2, event2, handler) {
3642
- if (el2.addEventListener)
3643
- el2.addEventListener(event2, handler, false);
3644
- else if (el2.attachEvent)
3645
- el2.attachEvent("on" + event2, handler);
3646
- }, eventRemove: function(el2, event2, handler) {
3647
- if (el2.removeEventListener)
3648
- el2.removeEventListener(event2, handler, false);
3649
- else if (el2.detachEvent)
3650
- el2.detachEvent("on" + event2, handler);
3649
+ const defaultDomEvents = { event: function(el, event2, handler) {
3650
+ if (el.addEventListener)
3651
+ el.addEventListener(event2, handler, false);
3652
+ else if (el.attachEvent)
3653
+ el.attachEvent("on" + event2, handler);
3654
+ }, eventRemove: function(el, event2, handler) {
3655
+ if (el.removeEventListener)
3656
+ el.removeEventListener(event2, handler, false);
3657
+ else if (el.detachEvent)
3658
+ el.detachEvent("on" + event2, handler);
3651
3659
  } };
3652
3660
  function createEventScope() {
3653
3661
  var domEvents = function(addEvent, removeEvent) {
3654
3662
  addEvent = addEvent || defaultDomEvents.event;
3655
3663
  removeEvent = removeEvent || defaultDomEvents.eventRemove;
3656
3664
  var handlers = [];
3657
- var eventScope = { attach: function(el2, event2, callback, capture) {
3658
- handlers.push({ element: el2, event: event2, callback, capture });
3659
- addEvent(el2, event2, callback, capture);
3660
- }, detach: function(el2, event2, callback, capture) {
3661
- removeEvent(el2, event2, callback, capture);
3665
+ var eventScope = { attach: function(el, event2, callback, capture) {
3666
+ handlers.push({ element: el, event: event2, callback, capture });
3667
+ addEvent(el, event2, callback, capture);
3668
+ }, detach: function(el, event2, callback, capture) {
3669
+ removeEvent(el, event2, callback, capture);
3662
3670
  for (var i = 0; i < handlers.length; i++) {
3663
3671
  var handler = handlers[i];
3664
- if (handler.element === el2 && handler.event === event2 && handler.callback === callback && handler.capture === capture) {
3672
+ if (handler.element === el && handler.event === event2 && handler.callback === callback && handler.capture === capture) {
3665
3673
  handlers.splice(i, 1);
3666
3674
  i--;
3667
3675
  }
@@ -4166,13 +4174,13 @@ if (Element.prototype.closest) {
4166
4174
  } else {
4167
4175
  var matches = Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
4168
4176
  closest = function(element, selector) {
4169
- var el2 = element;
4177
+ var el = element;
4170
4178
  do {
4171
- if (matches.call(el2, selector)) {
4172
- return el2;
4179
+ if (matches.call(el, selector)) {
4180
+ return el;
4173
4181
  }
4174
- el2 = el2.parentElement || el2.parentNode;
4175
- } while (el2 !== null && el2.nodeType === 1);
4182
+ el = el.parentElement || el.parentNode;
4183
+ } while (el !== null && el.nodeType === 1);
4176
4184
  return null;
4177
4185
  };
4178
4186
  }
@@ -4841,7 +4849,7 @@ function extend$c(scheduler2) {
4841
4849
  this.clear_view();
4842
4850
  this.callEvent("onClearAll", []);
4843
4851
  };
4844
- scheduler2.addEvent = function(start_date, end_date, text, id2, extra_data) {
4852
+ scheduler2.addEvent = function(start_date, end_date, text, id, extra_data) {
4845
4853
  if (!arguments.length)
4846
4854
  return this.addEventNow();
4847
4855
  var ev = start_date;
@@ -4850,7 +4858,7 @@ function extend$c(scheduler2) {
4850
4858
  ev.start_date = start_date;
4851
4859
  ev.end_date = end_date;
4852
4860
  ev.text = text;
4853
- ev.id = id2;
4861
+ ev.id = id;
4854
4862
  }
4855
4863
  ev.id = ev.id || scheduler2.uid();
4856
4864
  ev.text = ev.text || "";
@@ -4859,8 +4867,8 @@ function extend$c(scheduler2) {
4859
4867
  if (typeof ev.end_date == "string")
4860
4868
  ev.end_date = this.templates.api_date(ev.end_date);
4861
4869
  var d = (this.config.event_duration || this.config.time_step) * 6e4;
4862
- if (ev.start_date.valueOf() == ev.end_date.valueOf())
4863
- ev.end_date.setTime(ev.end_date.valueOf() + d);
4870
+ if (new Date(ev.end_date).valueOf() - new Date(ev.start_date).valueOf() <= d)
4871
+ ev.end_date.setTime(ev.start_date.valueOf() + d);
4864
4872
  ev.start_date.setMilliseconds(0);
4865
4873
  ev.end_date.setMilliseconds(0);
4866
4874
  ev._timed = this.isOneDayEvent(ev);
@@ -4871,15 +4879,15 @@ function extend$c(scheduler2) {
4871
4879
  this.callEvent(is_new ? "onEventAdded" : "onEventChanged", [ev.id, ev]);
4872
4880
  return ev.id;
4873
4881
  };
4874
- scheduler2.deleteEvent = function(id2, silent) {
4875
- var ev = this._events[id2];
4876
- if (!silent && (!this.callEvent("onBeforeEventDelete", [id2, ev]) || !this.callEvent("onConfirmedBeforeEventDelete", [id2, ev])))
4882
+ scheduler2.deleteEvent = function(id, silent) {
4883
+ var ev = this._events[id];
4884
+ if (!silent && (!this.callEvent("onBeforeEventDelete", [id, ev]) || !this.callEvent("onConfirmedBeforeEventDelete", [id, ev])))
4877
4885
  return;
4878
4886
  if (ev) {
4879
- if (scheduler2.getState().select_id == id2) {
4887
+ if (scheduler2.getState().select_id == id) {
4880
4888
  scheduler2.unselect();
4881
4889
  }
4882
- delete this._events[id2];
4890
+ delete this._events[id];
4883
4891
  this.event_updated(ev);
4884
4892
  if (this._drag_id == ev.id) {
4885
4893
  this._drag_id = null;
@@ -4887,50 +4895,50 @@ function extend$c(scheduler2) {
4887
4895
  this._drag_pos = null;
4888
4896
  }
4889
4897
  }
4890
- this.callEvent("onEventDeleted", [id2, ev]);
4898
+ this.callEvent("onEventDeleted", [id, ev]);
4891
4899
  };
4892
- scheduler2.getEvent = function(id2) {
4893
- return this._events[id2];
4900
+ scheduler2.getEvent = function(id) {
4901
+ return this._events[id];
4894
4902
  };
4895
- scheduler2.setEvent = function(id2, hash) {
4903
+ scheduler2.setEvent = function(id, hash) {
4896
4904
  if (!hash.id)
4897
- hash.id = id2;
4898
- this._events[id2] = hash;
4905
+ hash.id = id;
4906
+ this._events[id] = hash;
4899
4907
  };
4900
- scheduler2.for_rendered = function(id2, method) {
4908
+ scheduler2.for_rendered = function(id, method) {
4901
4909
  for (var i = this._rendered.length - 1; i >= 0; i--)
4902
- if (this._rendered[i].getAttribute(this.config.event_attribute) == id2)
4910
+ if (this._rendered[i].getAttribute(this.config.event_attribute) == id)
4903
4911
  method(this._rendered[i], i);
4904
4912
  };
4905
- scheduler2.changeEventId = function(id2, new_id) {
4906
- if (id2 == new_id)
4913
+ scheduler2.changeEventId = function(id, new_id) {
4914
+ if (id == new_id)
4907
4915
  return;
4908
- var ev = this._events[id2];
4916
+ var ev = this._events[id];
4909
4917
  if (ev) {
4910
4918
  ev.id = new_id;
4911
4919
  this._events[new_id] = ev;
4912
- delete this._events[id2];
4920
+ delete this._events[id];
4913
4921
  }
4914
- this.for_rendered(id2, function(r) {
4922
+ this.for_rendered(id, function(r) {
4915
4923
  r.setAttribute("event_id", new_id);
4916
4924
  r.setAttribute(scheduler2.config.event_attribute, new_id);
4917
4925
  });
4918
- if (this._select_id == id2)
4926
+ if (this._select_id == id)
4919
4927
  this._select_id = new_id;
4920
- if (this._edit_id == id2)
4928
+ if (this._edit_id == id)
4921
4929
  this._edit_id = new_id;
4922
- this.callEvent("onEventIdChange", [id2, new_id]);
4930
+ this.callEvent("onEventIdChange", [id, new_id]);
4923
4931
  };
4924
4932
  (function() {
4925
4933
  var attrs = ["text", "Text", "start_date", "StartDate", "end_date", "EndDate"];
4926
4934
  var create_getter = function(name) {
4927
- return function(id2) {
4928
- return scheduler2.getEvent(id2)[name];
4935
+ return function(id) {
4936
+ return scheduler2.getEvent(id)[name];
4929
4937
  };
4930
4938
  };
4931
4939
  var create_setter = function(name) {
4932
- return function(id2, value) {
4933
- var ev = scheduler2.getEvent(id2);
4940
+ return function(id, value) {
4941
+ var ev = scheduler2.getEvent(id);
4934
4942
  ev[name] = value;
4935
4943
  ev._changed = true;
4936
4944
  ev._timed = this.isOneDayEvent(ev);
@@ -4972,18 +4980,18 @@ function extend$c(scheduler2) {
4972
4980
  };
4973
4981
  scheduler2.get_visible_events = function(only_timed) {
4974
4982
  var stack = [];
4975
- for (var id2 in this._events)
4976
- if (this.is_visible_events(this._events[id2])) {
4977
- if (!only_timed || this._events[id2]._timed) {
4978
- if (this.filter_event(id2, this._events[id2]))
4979
- stack.push(this._events[id2]);
4983
+ for (var id in this._events)
4984
+ if (this.is_visible_events(this._events[id])) {
4985
+ if (!only_timed || this._events[id]._timed) {
4986
+ if (this.filter_event(id, this._events[id]))
4987
+ stack.push(this._events[id]);
4980
4988
  }
4981
4989
  }
4982
4990
  return stack;
4983
4991
  };
4984
- scheduler2.filter_event = function(id2, ev) {
4992
+ scheduler2.filter_event = function(id, ev) {
4985
4993
  var filter = this["filter_" + this._mode];
4986
- return filter ? filter(id2, ev) : true;
4994
+ return filter ? filter(id, ev) : true;
4987
4995
  };
4988
4996
  scheduler2._is_main_area_event = function(ev) {
4989
4997
  return !!ev._timed;
@@ -5054,27 +5062,27 @@ function extend$c(scheduler2) {
5054
5062
  var count = scheduler2.getEvents(curr, date.add(curr, 1, "day")).length;
5055
5063
  var pos = this._get_event_bar_pos(toRender);
5056
5064
  var widt = pos.x2 - pos.x;
5057
- var el2 = document.createElement("div");
5058
- scheduler2.event(el2, "click", function(e) {
5065
+ var el = document.createElement("div");
5066
+ scheduler2.event(el, "click", function(e) {
5059
5067
  scheduler2._view_month_day(e);
5060
5068
  });
5061
- el2.className = "dhx_month_link";
5062
- el2.style.top = pos.y + "px";
5063
- el2.style.left = pos.x + "px";
5064
- el2.style.width = widt + "px";
5065
- el2.innerHTML = scheduler2.templates.month_events_link(curr, count);
5066
- this._rendered.push(el2);
5067
- parent.appendChild(el2);
5069
+ el.className = "dhx_month_link";
5070
+ el.style.top = pos.y + "px";
5071
+ el.style.left = pos.x + "px";
5072
+ el.style.width = widt + "px";
5073
+ el.innerHTML = scheduler2.templates.month_events_link(curr, count);
5074
+ this._rendered.push(el);
5075
+ parent.appendChild(el);
5068
5076
  }
5069
5077
  };
5070
- scheduler2._recalculate_timed = function(id2) {
5071
- if (!id2)
5078
+ scheduler2._recalculate_timed = function(id) {
5079
+ if (!id)
5072
5080
  return;
5073
5081
  var ev;
5074
- if (typeof id2 != "object")
5075
- ev = this._events[id2];
5082
+ if (typeof id != "object")
5083
+ ev = this._events[id];
5076
5084
  else
5077
- ev = id2;
5085
+ ev = id;
5078
5086
  if (!ev)
5079
5087
  return;
5080
5088
  ev._timed = scheduler2.isOneDayEvent(ev);
@@ -5378,11 +5386,11 @@ function extend$c(scheduler2) {
5378
5386
  var chunks_info = {};
5379
5387
  for (var i = 0; i < evs.length; i++) {
5380
5388
  var ev = evs[i];
5381
- var id2 = ev.id;
5382
- if (!chunks_info[id2]) {
5383
- chunks_info[id2] = { first_chunk: true, last_chunk: true };
5389
+ var id = ev.id;
5390
+ if (!chunks_info[id]) {
5391
+ chunks_info[id] = { first_chunk: true, last_chunk: true };
5384
5392
  }
5385
- var chunk_info = chunks_info[id2];
5393
+ var chunk_info = chunks_info[id];
5386
5394
  var sd = start_date || ev.start_date;
5387
5395
  var ed = ev.end_date;
5388
5396
  if (sd < this._min_date) {
@@ -5463,10 +5471,10 @@ function extend$c(scheduler2) {
5463
5471
  }
5464
5472
  this._rendered = [];
5465
5473
  };
5466
- scheduler2.updateEvent = function(id2) {
5467
- var ev = this.getEvent(id2);
5468
- this.clear_event(id2);
5469
- if (ev && this.is_visible_events(ev) && this.filter_event(id2, ev) && (this._table_view || this.config.multi_day || ev._timed)) {
5474
+ scheduler2.updateEvent = function(id) {
5475
+ var ev = this.getEvent(id);
5476
+ this.clear_event(id);
5477
+ if (ev && this.is_visible_events(ev) && this.filter_event(id, ev) && (this._table_view || this.config.multi_day || ev._timed)) {
5470
5478
  if (this.config.update_render) {
5471
5479
  this.render_view_data();
5472
5480
  } else {
@@ -5478,8 +5486,8 @@ function extend$c(scheduler2) {
5478
5486
  }
5479
5487
  }
5480
5488
  };
5481
- scheduler2.clear_event = function(id2) {
5482
- this.for_rendered(id2, function(node, i) {
5489
+ scheduler2.clear_event = function(id) {
5490
+ this.for_rendered(id, function(node, i) {
5483
5491
  if (node.parentNode)
5484
5492
  node.parentNode.removeChild(node);
5485
5493
  scheduler2._rendered.splice(i, 1);
@@ -5626,23 +5634,23 @@ function extend$c(scheduler2) {
5626
5634
  };
5627
5635
  scheduler2._render_v_bar = function(ev, x, y, w, h, style, contentA, contentB, bottom) {
5628
5636
  var d = document.createElement("div");
5629
- var id2 = ev.id;
5630
- var cs2 = bottom ? "dhx_cal_event dhx_cal_select_menu" : "dhx_cal_event";
5637
+ var id = ev.id;
5638
+ var cs = bottom ? "dhx_cal_event dhx_cal_select_menu" : "dhx_cal_event";
5631
5639
  var state = scheduler2.getState();
5632
5640
  if (state.drag_id == ev.id) {
5633
- cs2 += " dhx_cal_event_drag";
5641
+ cs += " dhx_cal_event_drag";
5634
5642
  }
5635
5643
  if (state.select_id == ev.id) {
5636
- cs2 += " dhx_cal_event_selected";
5644
+ cs += " dhx_cal_event_selected";
5637
5645
  }
5638
5646
  var cse = scheduler2.templates.event_class(ev.start_date, ev.end_date, ev);
5639
5647
  if (cse)
5640
- cs2 = cs2 + " " + cse;
5648
+ cs = cs + " " + cse;
5641
5649
  if (this.config.cascade_event_display) {
5642
- cs2 += " dhx_cal_event_cascade";
5650
+ cs += " dhx_cal_event_cascade";
5643
5651
  }
5644
5652
  var boxWidth = w - 1;
5645
- var html = `<div event_id="${id2}" ${this.config.event_attribute}="${id2}" class="${cs2}"
5653
+ var html = `<div event_id="${id}" ${this.config.event_attribute}="${id}" class="${cs}"
5646
5654
  style="position:absolute; top:${y}px; ${this.config.rtl ? "right:" : "left:"}${x}px; width:${boxWidth}px; height:${h}px; ${style || ""}"
5647
5655
  data-bar-start="${ev.start_date.valueOf()}" data-bar-end="${ev.end_date.valueOf()}">
5648
5656
  </div>`;
@@ -5740,16 +5748,16 @@ function extend$c(scheduler2) {
5740
5748
  var resize_left = resizable && (ev._timed || left_chunk);
5741
5749
  var resize_right = resizable && (ev._timed || right_chunk);
5742
5750
  var timed = true;
5743
- var cs2 = "dhx_cal_event_clear";
5751
+ var cs = "dhx_cal_event_clear";
5744
5752
  if (!ev._timed || resizable) {
5745
5753
  timed = false;
5746
- cs2 = "dhx_cal_event_line";
5754
+ cs = "dhx_cal_event_line";
5747
5755
  }
5748
5756
  if (left_chunk) {
5749
- cs2 += " dhx_cal_event_line_start";
5757
+ cs += " dhx_cal_event_line_start";
5750
5758
  }
5751
5759
  if (right_chunk) {
5752
- cs2 += " dhx_cal_event_line_end";
5760
+ cs += " dhx_cal_event_line_end";
5753
5761
  }
5754
5762
  if (resize_left) {
5755
5763
  resize_handle += "<div class='dhx_event_resize dhx_event_resize_start'></div>";
@@ -5759,12 +5767,12 @@ function extend$c(scheduler2) {
5759
5767
  }
5760
5768
  var cse = scheduler2.templates.event_class(ev.start_date, ev.end_date, ev);
5761
5769
  if (cse) {
5762
- cs2 += " " + cse;
5770
+ cs += " " + cse;
5763
5771
  }
5764
5772
  var bg_color = ev.color ? "--dhx-scheduler-event-background:" + ev.color + ";" : "";
5765
5773
  var color = ev.textColor ? "--dhx-scheduler-event-color:" + ev.textColor + ";" : "";
5766
5774
  var style_text = ["position:absolute", "top:" + y + "px", "left:" + x + "px", "width:" + (x2 - x - (timed ? 1 : 0)) + "px", "height:" + (this.xy.bar_height - 2) + "px", color, bg_color, ev._text_style || ""].join(";");
5767
- var html = "<div event_id='" + ev.id + "' " + this.config.event_attribute + "='" + ev.id + "' class='" + cs2 + "' style='" + style_text + "'" + this._waiAria.eventBarAttrString(ev) + ">";
5775
+ var html = "<div event_id='" + ev.id + "' " + this.config.event_attribute + "='" + ev.id + "' class='" + cs + "' style='" + style_text + "'" + this._waiAria.eventBarAttrString(ev) + ">";
5768
5776
  if (resizable) {
5769
5777
  html += resize_handle;
5770
5778
  }
@@ -5783,22 +5791,22 @@ function extend$c(scheduler2) {
5783
5791
  parent.appendChild(d.firstChild);
5784
5792
  };
5785
5793
  scheduler2._locate_event = function(node) {
5786
- var id2 = null;
5787
- while (node && !id2 && node.getAttribute) {
5788
- id2 = node.getAttribute(this.config.event_attribute);
5794
+ var id = null;
5795
+ while (node && !id && node.getAttribute) {
5796
+ id = node.getAttribute(this.config.event_attribute);
5789
5797
  node = node.parentNode;
5790
5798
  }
5791
- return id2;
5799
+ return id;
5792
5800
  };
5793
- scheduler2.edit = function(id2) {
5794
- if (this._edit_id == id2)
5801
+ scheduler2.edit = function(id) {
5802
+ if (this._edit_id == id)
5795
5803
  return;
5796
- this.editStop(false, id2);
5797
- this._edit_id = id2;
5798
- this.updateEvent(id2);
5804
+ this.editStop(false, id);
5805
+ this._edit_id = id;
5806
+ this.updateEvent(id);
5799
5807
  };
5800
- scheduler2.editStop = function(mode, id2) {
5801
- if (id2 && this._edit_id == id2)
5808
+ scheduler2.editStop = function(mode, id) {
5809
+ if (id && this._edit_id == id)
5802
5810
  return;
5803
5811
  var ev = this.getEvent(this._edit_id);
5804
5812
  if (ev) {
@@ -5818,6 +5826,7 @@ function extend$c(scheduler2) {
5818
5826
  } else {
5819
5827
  this.callEvent("onEventAdded", [ev.id, ev]);
5820
5828
  }
5829
+ delete ev.$new;
5821
5830
  this._new_event = null;
5822
5831
  } else {
5823
5832
  if (mode) {
@@ -5834,26 +5843,26 @@ function extend$c(scheduler2) {
5834
5843
  }
5835
5844
  return result;
5836
5845
  };
5837
- scheduler2.getRenderedEvent = function(id2) {
5838
- if (!id2)
5846
+ scheduler2.getRenderedEvent = function(id) {
5847
+ if (!id)
5839
5848
  return;
5840
5849
  var rendered_events = scheduler2._rendered;
5841
5850
  for (var i = 0; i < rendered_events.length; i++) {
5842
5851
  var rendered_event = rendered_events[i];
5843
- if (rendered_event.getAttribute(scheduler2.config.event_attribute) == id2) {
5852
+ if (rendered_event.getAttribute(scheduler2.config.event_attribute) == id) {
5844
5853
  return rendered_event;
5845
5854
  }
5846
5855
  }
5847
5856
  return null;
5848
5857
  };
5849
- scheduler2.showEvent = function(id2, mode) {
5858
+ scheduler2.showEvent = function(id, mode) {
5850
5859
  var section;
5851
- if (id2 && typeof id2 === "object") {
5852
- mode = id2.mode;
5853
- section = id2.section;
5854
- id2 = id2.section;
5860
+ if (id && typeof id === "object") {
5861
+ mode = id.mode;
5862
+ section = id.section;
5863
+ id = id.section;
5855
5864
  }
5856
- var ev = typeof id2 == "number" || typeof id2 == "string" ? scheduler2.getEvent(id2) : id2;
5865
+ var ev = typeof id == "number" || typeof id == "string" ? scheduler2.getEvent(id) : id;
5857
5866
  mode = mode || scheduler2._mode;
5858
5867
  if (!ev || this.checkEvent("onBeforeEventDisplay") && !this.callEvent("onBeforeEventDisplay", [ev, mode]))
5859
5868
  return;
@@ -6656,23 +6665,27 @@ function extend$6(scheduler2) {
6656
6665
  this.show_cover();
6657
6666
  this._cover.style.display = "";
6658
6667
  };
6659
- scheduler2.showLightbox = function(id2) {
6660
- if (!id2)
6668
+ scheduler2.showLightbox = function(id) {
6669
+ if (!id)
6661
6670
  return;
6662
- if (!this.callEvent("onBeforeLightbox", [id2])) {
6663
- if (this._new_event)
6671
+ if (!this.callEvent("onBeforeLightbox", [id])) {
6672
+ if (this._new_event) {
6664
6673
  this._new_event = null;
6674
+ if (scheduler2.getEvent(id)) {
6675
+ delete scheduler2.getEvent(id).$new;
6676
+ }
6677
+ }
6665
6678
  return;
6666
6679
  }
6667
6680
  this.showCover(box);
6668
6681
  var box = this.getLightbox();
6669
6682
  this._setLbPosition(box);
6670
- this._fill_lightbox(id2, box);
6683
+ this._fill_lightbox(id, box);
6671
6684
  this._waiAria.lightboxVisibleAttr(box);
6672
- this.callEvent("onLightbox", [id2]);
6685
+ this.callEvent("onLightbox", [id]);
6673
6686
  };
6674
- scheduler2._fill_lightbox = function(id2, box) {
6675
- var ev = this.getEvent(id2);
6687
+ scheduler2._fill_lightbox = function(id, box) {
6688
+ var ev = this.getEvent(id);
6676
6689
  var s = box.getElementsByTagName("span");
6677
6690
  var lightboxHeader = [];
6678
6691
  if (scheduler2.templates.lightbox_header) {
@@ -6700,7 +6713,7 @@ function extend$6(scheduler2) {
6700
6713
  if (sns[i].focus)
6701
6714
  block.focus.call(this, node);
6702
6715
  }
6703
- scheduler2._lightbox_id = id2;
6716
+ scheduler2._lightbox_id = id;
6704
6717
  };
6705
6718
  scheduler2._get_lightbox_section_node = function(section) {
6706
6719
  return scheduler2._lightbox.querySelector(`#${section.id}`).nextSibling;
@@ -6718,14 +6731,14 @@ function extend$6(scheduler2) {
6718
6731
  return ev;
6719
6732
  };
6720
6733
  scheduler2._empty_lightbox = function(data) {
6721
- var id2 = scheduler2._lightbox_id;
6722
- var ev = this.getEvent(id2);
6734
+ var id = scheduler2._lightbox_id;
6735
+ var ev = this.getEvent(id);
6723
6736
  this._lame_copy(ev, data);
6724
6737
  this.setEvent(ev.id, ev);
6725
6738
  this._edit_stop_event(ev, true);
6726
6739
  this.render_view_data();
6727
6740
  };
6728
- scheduler2.hide_lightbox = function(id2) {
6741
+ scheduler2.hide_lightbox = function(id) {
6729
6742
  scheduler2.endLightbox(false, this.getLightbox());
6730
6743
  };
6731
6744
  scheduler2.hideCover = function(box) {
@@ -6760,8 +6773,8 @@ function extend$6(scheduler2) {
6760
6773
  this._empty_lightbox(data);
6761
6774
  this.hide_lightbox();
6762
6775
  };
6763
- scheduler2.startLightbox = function(id2, box) {
6764
- this._lightbox_id = id2;
6776
+ scheduler2.startLightbox = function(id, box) {
6777
+ this._lightbox_id = id;
6765
6778
  this._custom_lightbox = true;
6766
6779
  this._temp_lightbox = this._lightbox;
6767
6780
  this._lightbox = box;
@@ -6796,6 +6809,9 @@ function extend$6(scheduler2) {
6796
6809
  this.hide_lightbox();
6797
6810
  };
6798
6811
  scheduler2.hideLightbox = scheduler2.cancel_lightbox;
6812
+ scheduler2._delete_event_confirm = function({ event: event2, message: message2, title, callback, ok }) {
6813
+ scheduler2._dhtmlx_confirm({ message: message2, title, callback, ok });
6814
+ };
6799
6815
  scheduler2._init_lightbox_events = function() {
6800
6816
  if (this.getLightbox().$_eventAttached) {
6801
6817
  return;
@@ -6831,7 +6847,7 @@ function extend$6(scheduler2) {
6831
6847
  return;
6832
6848
  }
6833
6849
  var c = scheduler2.locale.labels.confirm_deleting;
6834
- scheduler2._dhtmlx_confirm({ message: c, title: scheduler2.locale.labels.title_confirm_deleting, callback: function() {
6850
+ scheduler2._delete_event_confirm({ event: scheduler2.getEvent(scheduler2._lightbox_id), message: c, title: scheduler2.locale.labels.title_confirm_deleting, callback: function() {
6835
6851
  let ev = scheduler2.getEvent(scheduler2._lightbox_id);
6836
6852
  if (ev._thisAndFollowing) {
6837
6853
  ev._removeFollowing = true;
@@ -6840,6 +6856,7 @@ function extend$6(scheduler2) {
6840
6856
  scheduler2.deleteEvent(scheduler2._lightbox_id);
6841
6857
  }
6842
6858
  scheduler2._new_event = null;
6859
+ delete ev.$new;
6843
6860
  scheduler2.hide_lightbox();
6844
6861
  }, config: { ok: scheduler2.locale.labels.icon_delete } });
6845
6862
  break;
@@ -7171,8 +7188,8 @@ function extend$5(scheduler2) {
7171
7188
  var original_render = scheduler2.render_view_data;
7172
7189
  if (dnd == "create" && timeline) {
7173
7190
  scheduler2.render_view_data = function() {
7174
- var id2 = scheduler2.getState().drag_id;
7175
- var ev = scheduler2.getEvent(id2);
7191
+ var id = scheduler2.getState().drag_id;
7192
+ var ev = scheduler2.getEvent(id);
7176
7193
  var property = timeline.y_property;
7177
7194
  var evs = scheduler2.getEvents(ev.start_date, ev.end_date);
7178
7195
  for (var i = 0; i < evs.length; i++) {
@@ -7622,7 +7639,7 @@ function extend$3(scheduler2) {
7622
7639
  };
7623
7640
  }
7624
7641
  function extend$2(scheduler2) {
7625
- if (window.jQuery) {
7642
+ if (typeof window !== "undefined" && window.jQuery) {
7626
7643
  (function($) {
7627
7644
  var counter = 0;
7628
7645
  var methods = [];
@@ -7730,28 +7747,28 @@ function DataProcessorEvents(scheduler2, dp) {
7730
7747
  this.attach = function() {
7731
7748
  var dp2 = this.$dp;
7732
7749
  var scheduler3 = this.$scheduler;
7733
- this._dataProcessorHandlers.push(scheduler3.attachEvent("onEventAdded", function(id2) {
7734
- if (!this._loading && this._validId(id2))
7735
- dp2.setUpdated(id2, true, "inserted");
7750
+ this._dataProcessorHandlers.push(scheduler3.attachEvent("onEventAdded", function(id) {
7751
+ if (!this._loading && this._validId(id))
7752
+ dp2.setUpdated(id, true, "inserted");
7736
7753
  }));
7737
- this._dataProcessorHandlers.push(scheduler3.attachEvent("onConfirmedBeforeEventDelete", function(id2) {
7738
- if (!this._validId(id2))
7754
+ this._dataProcessorHandlers.push(scheduler3.attachEvent("onConfirmedBeforeEventDelete", function(id) {
7755
+ if (!this._validId(id))
7739
7756
  return;
7740
- var z = dp2.getState(id2);
7757
+ var z = dp2.getState(id);
7741
7758
  if (z == "inserted" || this._new_event) {
7742
- dp2.setUpdated(id2, false);
7759
+ dp2.setUpdated(id, false);
7743
7760
  return true;
7744
7761
  }
7745
7762
  if (z == "deleted")
7746
7763
  return false;
7747
7764
  if (z == "true_deleted")
7748
7765
  return true;
7749
- dp2.setUpdated(id2, true, "deleted");
7766
+ dp2.setUpdated(id, true, "deleted");
7750
7767
  return false;
7751
7768
  }));
7752
- this._dataProcessorHandlers.push(scheduler3.attachEvent("onEventChanged", function(id2) {
7753
- if (!this._loading && this._validId(id2))
7754
- dp2.setUpdated(id2, true, "updated");
7769
+ this._dataProcessorHandlers.push(scheduler3.attachEvent("onEventChanged", function(id) {
7770
+ if (!this._loading && this._validId(id))
7771
+ dp2.setUpdated(id, true, "updated");
7755
7772
  }));
7756
7773
  this._dataProcessorHandlers.push(scheduler3.attachEvent("onClearAll", function() {
7757
7774
  dp2._in_progress = {};
@@ -7761,12 +7778,12 @@ function DataProcessorEvents(scheduler2, dp) {
7761
7778
  }));
7762
7779
  dp2.attachEvent("insertCallback", scheduler3._update_callback);
7763
7780
  dp2.attachEvent("updateCallback", scheduler3._update_callback);
7764
- dp2.attachEvent("deleteCallback", function(upd, id2) {
7765
- if (scheduler3.getEvent(id2)) {
7766
- scheduler3.setUserData(id2, this.action_param, "true_deleted");
7767
- scheduler3.deleteEvent(id2);
7781
+ dp2.attachEvent("deleteCallback", function(upd, id) {
7782
+ if (scheduler3.getEvent(id)) {
7783
+ scheduler3.setUserData(id, this.action_param, "true_deleted");
7784
+ scheduler3.deleteEvent(id);
7768
7785
  } else if (scheduler3._add_rec_marker)
7769
- scheduler3._update_callback(upd, id2);
7786
+ scheduler3._update_callback(upd, id);
7770
7787
  });
7771
7788
  };
7772
7789
  this.detach = function() {
@@ -7778,24 +7795,24 @@ function DataProcessorEvents(scheduler2, dp) {
7778
7795
  };
7779
7796
  }
7780
7797
  function extendScheduler(scheduler2, dp) {
7781
- scheduler2._validId = function(id2) {
7798
+ scheduler2._validId = function(id) {
7782
7799
  if (this._is_virtual_event) {
7783
- return !this._is_virtual_event(id2);
7800
+ return !this._is_virtual_event(id);
7784
7801
  }
7785
7802
  return true;
7786
7803
  };
7787
- scheduler2.setUserData = function(id2, name, value) {
7788
- if (id2) {
7789
- var ev = this.getEvent(id2);
7804
+ scheduler2.setUserData = function(id, name, value) {
7805
+ if (id) {
7806
+ var ev = this.getEvent(id);
7790
7807
  if (ev)
7791
7808
  ev[name] = value;
7792
7809
  } else {
7793
7810
  this._userdata[name] = value;
7794
7811
  }
7795
7812
  };
7796
- scheduler2.getUserData = function(id2, name) {
7797
- if (id2) {
7798
- var ev = this.getEvent(id2);
7813
+ scheduler2.getUserData = function(id, name) {
7814
+ if (id) {
7815
+ var ev = this.getEvent(id);
7799
7816
  if (ev)
7800
7817
  return ev[name];
7801
7818
  else
@@ -7804,17 +7821,17 @@ function extendScheduler(scheduler2, dp) {
7804
7821
  return this._userdata[name];
7805
7822
  }
7806
7823
  };
7807
- scheduler2._set_event_text_style = function(id2, style) {
7808
- if (!scheduler2.getEvent(id2))
7824
+ scheduler2._set_event_text_style = function(id, style) {
7825
+ if (!scheduler2.getEvent(id))
7809
7826
  return;
7810
- this.for_rendered(id2, function(r) {
7827
+ this.for_rendered(id, function(r) {
7811
7828
  r.style.cssText += ";" + style;
7812
7829
  });
7813
- var ev = this.getEvent(id2);
7830
+ var ev = this.getEvent(id);
7814
7831
  ev["_text_style"] = style;
7815
7832
  this.event_updated(ev);
7816
7833
  };
7817
- scheduler2._update_callback = function(upd, id2) {
7834
+ scheduler2._update_callback = function(upd, id) {
7818
7835
  var data = scheduler2._xmlNodeToJSON(upd.firstChild);
7819
7836
  if (data.rec_type == "none")
7820
7837
  data.rec_pattern = "none";
@@ -7825,18 +7842,18 @@ function extendScheduler(scheduler2, dp) {
7825
7842
  if (scheduler2._add_rec_marker)
7826
7843
  scheduler2.setCurrentView();
7827
7844
  };
7828
- scheduler2._dp_change_event_id = function(id2, new_id) {
7829
- if (!scheduler2.getEvent(id2))
7845
+ scheduler2._dp_change_event_id = function(id, new_id) {
7846
+ if (!scheduler2.getEvent(id))
7830
7847
  return;
7831
- scheduler2.changeEventId(id2, new_id);
7848
+ scheduler2.changeEventId(id, new_id);
7832
7849
  };
7833
- scheduler2._dp_hook_delete = function(id2, new_id) {
7834
- if (!scheduler2.getEvent(id2))
7850
+ scheduler2._dp_hook_delete = function(id, new_id) {
7851
+ if (!scheduler2.getEvent(id))
7835
7852
  return;
7836
- if (new_id && id2 != new_id) {
7837
- if (this.getUserData(id2, dp.action_param) == "true_deleted")
7838
- this.setUserData(id2, dp.action_param, "updated");
7839
- this.changeEventId(id2, new_id);
7853
+ if (new_id && id != new_id) {
7854
+ if (this.getUserData(id, dp.action_param) == "true_deleted")
7855
+ this.setUserData(id, dp.action_param, "updated");
7856
+ this.changeEventId(id, new_id);
7840
7857
  }
7841
7858
  return this.deleteEvent(new_id, true);
7842
7859
  };
@@ -7945,21 +7962,21 @@ DataProcessor.prototype = { setTransactionMode: function(mode, total) {
7945
7962
  this.markRow(rowId, state, mode);
7946
7963
  if (state && this.autoUpdate)
7947
7964
  this.sendData(rowId);
7948
- }, markRow: function(id2, state, mode) {
7965
+ }, markRow: function(id, state, mode) {
7949
7966
  var str = "";
7950
- var invalid = this.is_invalid(id2);
7967
+ var invalid = this.is_invalid(id);
7951
7968
  if (invalid) {
7952
7969
  str = this.styles[invalid];
7953
7970
  state = true;
7954
7971
  }
7955
- if (this.callEvent("onRowMark", [id2, state, mode, invalid])) {
7972
+ if (this.callEvent("onRowMark", [id, state, mode, invalid])) {
7956
7973
  str = this.styles[state ? mode : "clear"] + str;
7957
- this.$scheduler[this._methods[0]](id2, str);
7974
+ this.$scheduler[this._methods[0]](id, str);
7958
7975
  if (invalid && invalid.details) {
7959
7976
  str += this.styles[invalid + "_cell"];
7960
7977
  for (var i = 0; i < invalid.details.length; i++)
7961
7978
  if (invalid.details[i])
7962
- this.$scheduler[this._methods[1]](id2, i, str);
7979
+ this.$scheduler[this._methods[1]](id, i, str);
7963
7980
  }
7964
7981
  }
7965
7982
  }, getActionByState: function(state) {
@@ -7973,16 +7990,16 @@ DataProcessor.prototype = { setTransactionMode: function(mode, total) {
7973
7990
  return "delete";
7974
7991
  }
7975
7992
  return "update";
7976
- }, getState: function(id2) {
7977
- return this.$scheduler.getUserData(id2, this.action_param);
7978
- }, is_invalid: function(id2) {
7979
- return this._invalid[id2];
7980
- }, set_invalid: function(id2, mode, details) {
7993
+ }, getState: function(id) {
7994
+ return this.$scheduler.getUserData(id, this.action_param);
7995
+ }, is_invalid: function(id) {
7996
+ return this._invalid[id];
7997
+ }, set_invalid: function(id, mode, details) {
7981
7998
  if (details)
7982
7999
  mode = { value: mode, details, toString: function() {
7983
8000
  return this.value.toString();
7984
8001
  } };
7985
- this._invalid[id2] = mode;
8002
+ this._invalid[id] = mode;
7986
8003
  }, checkBeforeUpdate: function(rowId) {
7987
8004
  return true;
7988
8005
  }, sendData: function(rowId) {
@@ -8000,13 +8017,13 @@ DataProcessor.prototype = { setTransactionMode: function(mode, total) {
8000
8017
  if (!this.callEvent("onBeforeUpdate", [rowId, this.getState(rowId), data]))
8001
8018
  return false;
8002
8019
  this._sendData(data, rowId);
8003
- }, serialize: function(data, id2) {
8020
+ }, serialize: function(data, id) {
8004
8021
  if (this._serializeAsJson) {
8005
8022
  return this._serializeAsJSON(data);
8006
8023
  }
8007
8024
  if (typeof data == "string")
8008
8025
  return data;
8009
- if (typeof id2 != "undefined")
8026
+ if (typeof id != "undefined")
8010
8027
  return this.serialize_one(data, "");
8011
8028
  else {
8012
8029
  var stack = [];
@@ -8059,6 +8076,7 @@ DataProcessor.prototype = { setTransactionMode: function(mode, total) {
8059
8076
  if (this._tMode === "CUSTOM") {
8060
8077
  var state = this.getState(rowId);
8061
8078
  var action = this.getActionByState(state);
8079
+ delete dataToSend[this.action_param];
8062
8080
  var _onResolvedCreateUpdate = function(tag) {
8063
8081
  var resultState = state;
8064
8082
  if (tag && tag.responseText && tag.setRequestHeader) {
@@ -8207,17 +8225,17 @@ DataProcessor.prototype = { setTransactionMode: function(mode, total) {
8207
8225
  }, _getAllData: function(rowId) {
8208
8226
  var out = {};
8209
8227
  var has_one = false;
8210
- this._forEachUpdatedRow(function(id2) {
8211
- if (this._in_progress[id2] || this.is_invalid(id2)) {
8228
+ this._forEachUpdatedRow(function(id) {
8229
+ if (this._in_progress[id] || this.is_invalid(id)) {
8212
8230
  return;
8213
8231
  }
8214
- var row = this._getRowData(id2);
8215
- if (!this.callEvent("onBeforeUpdate", [id2, this.getState(id2), row])) {
8232
+ var row = this._getRowData(id);
8233
+ if (!this.callEvent("onBeforeUpdate", [id, this.getState(id), row])) {
8216
8234
  return;
8217
8235
  }
8218
- out[id2] = row;
8236
+ out[id] = row;
8219
8237
  has_one = true;
8220
- this._in_progress[id2] = (/* @__PURE__ */ new Date()).valueOf();
8238
+ this._in_progress[id] = (/* @__PURE__ */ new Date()).valueOf();
8221
8239
  });
8222
8240
  return has_one ? out : null;
8223
8241
  }, findRow: function(pattern) {
@@ -8272,21 +8290,21 @@ DataProcessor.prototype = { setTransactionMode: function(mode, total) {
8272
8290
  this.setUpdated(tid, true, this.$scheduler.getUserData(sid, this.action_param));
8273
8291
  }
8274
8292
  this.callEvent("onAfterUpdate", [originalSid, action, tid, btag]);
8275
- }, _errorResponse: function(xml, id2) {
8293
+ }, _errorResponse: function(xml, id) {
8276
8294
  if (this.$scheduler && this.$scheduler.callEvent) {
8277
- this.$scheduler.callEvent("onSaveError", [id2, xml.xmlDoc]);
8295
+ this.$scheduler.callEvent("onSaveError", [id, xml.xmlDoc]);
8278
8296
  }
8279
- return this.cleanUpdate(id2);
8297
+ return this.cleanUpdate(id);
8280
8298
  }, _setDefaultTransactionMode: function() {
8281
8299
  if (this.serverProcessor) {
8282
8300
  this.setTransactionMode("POST", true);
8283
8301
  this.serverProcessor += (this.serverProcessor.indexOf("?") !== -1 ? "&" : "?") + "editing=true";
8284
8302
  this._serverProcessor = this.serverProcessor;
8285
8303
  }
8286
- }, afterUpdate: function(that, xml, id2) {
8304
+ }, afterUpdate: function(that, xml, id) {
8287
8305
  var ajax = this.$scheduler.ajax;
8288
8306
  if (xml.xmlDoc.status !== 200) {
8289
- this._errorResponse(xml, id2);
8307
+ this._errorResponse(xml, id);
8290
8308
  return;
8291
8309
  }
8292
8310
  var tag;
@@ -8298,20 +8316,20 @@ DataProcessor.prototype = { setTransactionMode: function(mode, total) {
8298
8316
  }
8299
8317
  }
8300
8318
  if (tag) {
8301
- var action = tag.action || this.getState(id2) || "updated";
8302
- var sid = tag.sid || id2[0];
8303
- var tid = tag.tid || id2[0];
8319
+ var action = tag.action || this.getState(id) || "updated";
8320
+ var sid = tag.sid || id[0];
8321
+ var tid = tag.tid || id[0];
8304
8322
  that.afterUpdateCallback(sid, tid, action, tag);
8305
8323
  that.finalizeUpdate();
8306
8324
  return;
8307
8325
  }
8308
8326
  var top = ajax.xmltop("data", xml.xmlDoc);
8309
8327
  if (!top) {
8310
- return this._errorResponse(xml, id2);
8328
+ return this._errorResponse(xml, id);
8311
8329
  }
8312
8330
  var atag = ajax.xpath("//data/action", top);
8313
8331
  if (!atag.length) {
8314
- return this._errorResponse(xml, id2);
8332
+ return this._errorResponse(xml, id);
8315
8333
  }
8316
8334
  for (var i = 0; i < atag.length; i++) {
8317
8335
  var btag = atag[i];
@@ -8321,10 +8339,10 @@ DataProcessor.prototype = { setTransactionMode: function(mode, total) {
8321
8339
  that.afterUpdateCallback(sid, tid, action, btag);
8322
8340
  }
8323
8341
  that.finalizeUpdate();
8324
- }, cleanUpdate: function(id2) {
8325
- if (id2)
8326
- for (var i = 0; i < id2.length; i++)
8327
- delete this._in_progress[id2[i]];
8342
+ }, cleanUpdate: function(id) {
8343
+ if (id)
8344
+ for (var i = 0; i < id.length; i++)
8345
+ delete this._in_progress[id[i]];
8328
8346
  }, finalizeUpdate: function() {
8329
8347
  if (this._waitMode)
8330
8348
  this._waitMode--;
@@ -8418,17 +8436,17 @@ DataProcessor.prototype = { setTransactionMode: function(mode, total) {
8418
8436
  self._silent_mode = true;
8419
8437
  for (var i = 0; i < updates.length; i++) {
8420
8438
  var status = updates[i].getAttribute("status");
8421
- var id2 = updates[i].getAttribute("id");
8439
+ var id = updates[i].getAttribute("id");
8422
8440
  var parent = updates[i].getAttribute("parent");
8423
8441
  switch (status) {
8424
8442
  case "inserted":
8425
- this.callEvent("insertCallback", [updates[i], id2, parent]);
8443
+ this.callEvent("insertCallback", [updates[i], id, parent]);
8426
8444
  break;
8427
8445
  case "updated":
8428
- this.callEvent("updateCallback", [updates[i], id2, parent]);
8446
+ this.callEvent("updateCallback", [updates[i], id, parent]);
8429
8447
  break;
8430
8448
  case "deleted":
8431
- this.callEvent("deleteCallback", [updates[i], id2, parent]);
8449
+ this.callEvent("deleteCallback", [updates[i], id, parent]);
8432
8450
  break;
8433
8451
  }
8434
8452
  }
@@ -8539,10 +8557,10 @@ DataProcessor.prototype = { setTransactionMode: function(mode, total) {
8539
8557
  } else {
8540
8558
  return this._prepareItemForForm(item);
8541
8559
  }
8542
- }, _getRowData: function(id2) {
8543
- var dataItem = this.$scheduler.getEvent(id2);
8560
+ }, _getRowData: function(id) {
8561
+ var dataItem = this.$scheduler.getEvent(id);
8544
8562
  if (!dataItem) {
8545
- dataItem = { id: id2 };
8563
+ dataItem = { id };
8546
8564
  }
8547
8565
  return this._prepareDataItem(dataItem);
8548
8566
  } };
@@ -8757,9 +8775,9 @@ function message(scheduler2) {
8757
8775
  }
8758
8776
  return text;
8759
8777
  }
8760
- function params(text, type, expire, id2, callback2) {
8778
+ function params(text, type, expire, id, callback2) {
8761
8779
  if (typeof text != "object")
8762
- text = { text, type, expire, id: id2, callback: callback2 };
8780
+ text = { text, type, expire, id, callback: callback2 };
8763
8781
  text.id = text.id || utils.uid();
8764
8782
  text.expire = text.expire || messageBox.expire;
8765
8783
  return text;
@@ -8797,7 +8815,7 @@ function message(scheduler2) {
8797
8815
  }
8798
8816
  }, 1);
8799
8817
  };
8800
- var messageBox = function(text, type, expire, id2) {
8818
+ var messageBox = function(text, type, expire, id) {
8801
8819
  text = params.apply(this, arguments);
8802
8820
  text.type = text.type || "info";
8803
8821
  var subtype = text.type.split("-")[0];
@@ -8823,17 +8841,17 @@ function message(scheduler2) {
8823
8841
  for (var key in messageBox.pull)
8824
8842
  messageBox.hide(key);
8825
8843
  };
8826
- messageBox.hide = function(id2) {
8827
- var obj = messageBox.pull[id2];
8844
+ messageBox.hide = function(id) {
8845
+ var obj = messageBox.pull[id];
8828
8846
  if (obj && obj.parentNode) {
8829
8847
  window.setTimeout(function() {
8830
8848
  obj.parentNode.removeChild(obj);
8831
8849
  obj = null;
8832
8850
  }, 2e3);
8833
8851
  obj.className += " hidden";
8834
- if (messageBox.timers[id2])
8835
- window.clearTimeout(messageBox.timers[id2]);
8836
- delete messageBox.pull[id2];
8852
+ if (messageBox.timers[id])
8853
+ window.clearTimeout(messageBox.timers[id]);
8854
+ delete messageBox.pull[id];
8837
8855
  }
8838
8856
  };
8839
8857
  var popups = [];
@@ -8865,23 +8883,6 @@ function message(scheduler2) {
8865
8883
  });
8866
8884
  return { alert: alertBox, confirm: confirmBox, message: messageBox, modalbox: modalBox };
8867
8885
  }
8868
- const ar = { date: { month_full: ["كانون الثاني", "شباط", "آذار", "نيسان", "أيار", "حزيران", "تموز", "آب", "أيلول", "تشرين الأول", "تشرين الثاني", "كانون الأول"], month_short: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], day_full: ["الأحد", "الأثنين", "ألثلاثاء", "الأربعاء", "ألحميس", "ألجمعة", "السبت"], day_short: ["احد", "اثنين", "ثلاثاء", "اربعاء", "خميس", "جمعة", "سبت"] }, labels: { dhx_cal_today_button: "اليوم", day_tab: "يوم", week_tab: "أسبوع", month_tab: "شهر", new_event: "حدث جديد", icon_save: "اخزن", icon_cancel: "الغاء", icon_details: "تفاصيل", icon_edit: "تحرير", icon_delete: "حذف", confirm_closing: "التغييرات سوف تضيع, هل انت متأكد؟", confirm_deleting: "الحدث سيتم حذفها نهائيا ، هل أنت متأكد؟", section_description: "الوصف", section_time: "الفترة الزمنية", full_day: "طوال اليوم", confirm_recurring: "هل تريد تحرير مجموعة كاملة من الأحداث المتكررة؟", section_recurring: "تكرار الحدث", button_recurring: "تعطيل", button_recurring_open: "تمكين", button_edit_series: "تحرير سلسلة", button_edit_occurrence: "تعديل نسخة", button_edit_occurrence_and_following: "This and following events", grid_tab: "جدول", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "يومي", repeat_radio_week: "أسبوعي", repeat_radio_month: "شهري", repeat_radio_year: "سنوي", repeat_radio_day_type: "كل", repeat_text_day_count: "يوم", repeat_radio_day_type2: "كل يوم عمل", repeat_week: " تكرار كل", repeat_text_week_count: "أسبوع في الأيام التالية:", repeat_radio_month_type: "تكرار", repeat_radio_month_start: "في", repeat_text_month_day: "يوم كل", repeat_text_month_count: "شهر", repeat_text_month_count2_before: "كل", repeat_text_month_count2_after: "شهر", repeat_year_label: "في", select_year_day2: "من", repeat_text_year_day: "يوم", select_year_month: "شهر", repeat_radio_end: "بدون تاريخ انتهاء", repeat_text_occurrences_count: "تكرارات", repeat_radio_end2: "بعد", repeat_radio_end3: "ينتهي في", repeat_never: "أبداً", repeat_daily: "كل يوم", repeat_workdays: "كل يوم عمل", repeat_weekly: "كل أسبوع", repeat_monthly: "كل شهر", repeat_yearly: "كل سنة", repeat_custom: "تخصيص", repeat_freq_day: "يوم", repeat_freq_week: "أسبوع", repeat_freq_month: "شهر", repeat_freq_year: "سنة", repeat_on_date: "في التاريخ", repeat_ends: "ينتهي", month_for_recurring: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], day_for_recurring: ["الأحد", "الإثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت"] } };
8869
- const be = { date: { month_full: ["Студзень", "Люты", "Сакавік", "Красавік", "Maй", "Чэрвень", "Ліпень", "Жнівень", "Верасень", "Кастрычнік", "Лістапад", "Снежань"], month_short: ["Студз", "Лют", "Сак", "Крас", "Maй", "Чэр", "Ліп", "Жнів", "Вер", "Каст", "Ліст", "Снеж"], day_full: ["Нядзеля", "Панядзелак", "Аўторак", "Серада", "Чацвер", "Пятніца", "Субота"], day_short: ["Нд", "Пн", "Аўт", "Ср", "Чцв", "Пт", "Сб"] }, labels: { dhx_cal_today_button: "Сёння", day_tab: "Дзень", week_tab: "Тыдзень", month_tab: "Месяц", new_event: "Новая падзея", icon_save: "Захаваць", icon_cancel: "Адмяніць", icon_details: "Дэталі", icon_edit: "Змяніць", icon_delete: "Выдаліць", confirm_closing: "", confirm_deleting: "Падзея будзе выдалена незваротна, працягнуць?", section_description: "Апісанне", section_time: "Перыяд часу", full_day: "Увесь дзень", confirm_recurring: "Вы хочаце змяніць усю серыю паўтаральных падзей?", section_recurring: "Паўтарэнне", button_recurring: "Адключана", button_recurring_open: "Уключана", button_edit_series: "Рэдагаваць серыю", button_edit_occurrence: "Рэдагаваць асобнік", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Спіс", date: "Дата", description: "Апісанне", year_tab: "Год", week_agenda_tab: "Спіс", grid_tab: "Спic", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Дзень", repeat_radio_week: "Тыдзень", repeat_radio_month: "Месяц", repeat_radio_year: "Год", repeat_radio_day_type: "Кожны", repeat_text_day_count: "дзень", repeat_radio_day_type2: "Кожны працоўны дзень", repeat_week: " Паўтараць кожны", repeat_text_week_count: "тыдзень", repeat_radio_month_type: "Паўтараць", repeat_radio_month_start: "", repeat_text_month_day: " чысла кожнага", repeat_text_month_count: "месяцу", repeat_text_month_count2_before: "кожны ", repeat_text_month_count2_after: "месяц", repeat_year_label: "", select_year_day2: "", repeat_text_year_day: "дзень", select_year_month: "", repeat_radio_end: "Без даты заканчэння", repeat_text_occurrences_count: "паўтораў", repeat_radio_end2: "", repeat_radio_end3: "Да ", repeat_never: "Ніколі", repeat_daily: "Кожны дзень", repeat_workdays: "Кожны працоўны дзень", repeat_weekly: "Кожны тыдзень", repeat_monthly: "Кожны месяц", repeat_yearly: "Кожны год", repeat_custom: "Наладжвальны", repeat_freq_day: "Дзень", repeat_freq_week: "Тыдзень", repeat_freq_month: "Месяц", repeat_freq_year: "Год", repeat_on_date: "На дату", repeat_ends: "Заканчваецца", month_for_recurring: ["Студзеня", "Лютага", "Сакавіка", "Красавіка", "Мая", "Чэрвеня", "Ліпeня", "Жніўня", "Верасня", "Кастрычніка", "Лістапада", "Снежня"], day_for_recurring: ["Нядзелю", "Панядзелак", "Аўторак", "Сераду", "Чацвер", "Пятніцу", "Суботу"] } };
8870
- const ca = { date: { month_full: ["Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre"], month_short: ["Gen", "Feb", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Oct", "Nov", "Des"], day_full: ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte"], day_short: ["Dg", "Dl", "Dm", "Dc", "Dj", "Dv", "Ds"] }, labels: { dhx_cal_today_button: "Hui", day_tab: "Dia", week_tab: "Setmana", month_tab: "Mes", new_event: "Nou esdeveniment", icon_save: "Guardar", icon_cancel: "Cancel·lar", icon_details: "Detalls", icon_edit: "Editar", icon_delete: "Esborrar", confirm_closing: "", confirm_deleting: "L'esdeveniment s'esborrarà definitivament, continuar ?", section_description: "Descripció", section_time: "Periode de temps", full_day: "Tot el dia", confirm_recurring: "¿Desitja modificar el conjunt d'esdeveniments repetits?", section_recurring: "Repeteixca l'esdeveniment", button_recurring: "Impedit", button_recurring_open: "Permés", button_edit_series: "Edit sèrie", button_edit_occurrence: "Edita Instància", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Data", description: "Descripció", year_tab: "Any", week_agenda_tab: "Agenda", grid_tab: "Taula", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Diari", repeat_radio_week: "Setmanal", repeat_radio_month: "Mensual", repeat_radio_year: "Anual", repeat_radio_day_type: "Cada", repeat_text_day_count: "dia", repeat_radio_day_type2: "Cada dia laborable", repeat_week: " Repetir cada", repeat_text_week_count: "setmana els dies següents:", repeat_radio_month_type: "Repetir", repeat_radio_month_start: "El", repeat_text_month_day: "dia cada", repeat_text_month_count: "mes", repeat_text_month_count2_before: "cada", repeat_text_month_count2_after: "mes", repeat_year_label: "El", select_year_day2: "de", repeat_text_year_day: "dia", select_year_month: "mes", repeat_radio_end: "Sense data de finalització", repeat_text_occurrences_count: "ocurrències", repeat_radio_end2: "Després", repeat_radio_end3: "Finalitzar el", repeat_never: "Mai", repeat_daily: "Cada dia", repeat_workdays: "Cada dia laborable", repeat_weekly: "Cada setmana", repeat_monthly: "Cada mes", repeat_yearly: "Cada any", repeat_custom: "Personalitzat", repeat_freq_day: "Dia", repeat_freq_week: "Setmana", repeat_freq_month: "Mes", repeat_freq_year: "Any", repeat_on_date: "En la data", repeat_ends: "Finalitza", month_for_recurring: ["Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre"], day_for_recurring: ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte"] } };
8871
- const cn = { date: { month_full: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], month_short: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], day_full: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"], day_short: ["日", "一", "二", "三", "四", "五", "六"] }, labels: { dhx_cal_today_button: "今天", day_tab: "日", week_tab: "周", month_tab: "月", new_event: "新建日程", icon_save: "保存", icon_cancel: "关闭", icon_details: "详细", icon_edit: "编辑", icon_delete: "删除", confirm_closing: "请确认是否撤销修改!", confirm_deleting: "是否删除日程?", section_description: "描述", section_time: "时间范围", full_day: "整天", confirm_recurring: "请确认是否将日程设为重复模式?", section_recurring: "重复周期", button_recurring: "禁用", button_recurring_open: "启用", button_edit_series: "编辑系列", button_edit_occurrence: "编辑实例", button_edit_occurrence_and_following: "This and following events", agenda_tab: "议程", date: "日期", description: "说明", year_tab: "今年", week_agenda_tab: "议程", grid_tab: "电网", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "按天", repeat_radio_week: "按周", repeat_radio_month: "按月", repeat_radio_year: "按年", repeat_radio_day_type: "每", repeat_text_day_count: "天", repeat_radio_day_type2: "每个工作日", repeat_week: " 重复 每", repeat_text_week_count: "星期的:", repeat_radio_month_type: "重复", repeat_radio_month_start: "在", repeat_text_month_day: "日 每", repeat_text_month_count: "月", repeat_text_month_count2_before: "每", repeat_text_month_count2_after: "月", repeat_year_label: "在", select_year_day2: "的", repeat_text_year_day: "日", select_year_month: "月", repeat_radio_end: "无结束日期", repeat_text_occurrences_count: "次结束", repeat_radio_end2: "重复", repeat_radio_end3: "结束于", repeat_never: "从不", repeat_daily: "每天", repeat_workdays: "每个工作日", repeat_weekly: "每周", repeat_monthly: "每月", repeat_yearly: "每年", repeat_custom: "自定义", repeat_freq_day: "天", repeat_freq_week: "周", repeat_freq_month: "月", repeat_freq_year: "年", repeat_on_date: "在日期", repeat_ends: "结束", month_for_recurring: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], day_for_recurring: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"] } };
8872
- const cs = { date: { month_full: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"], month_short: ["Led", "Ún", "Bře", "Dub", "Kvě", "Čer", "Čec", "Srp", "Září", "Říj", "List", "Pro"], day_full: ["Neděle", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota"], day_short: ["Ne", "Po", "Út", "St", "Čt", "Pá", "So"] }, labels: { dhx_cal_today_button: "Dnes", day_tab: "Den", week_tab: "Týden", month_tab: "Měsíc", new_event: "Nová událost", icon_save: "Uložit", icon_cancel: "Zpět", icon_details: "Detail", icon_edit: "Edituj", icon_delete: "Smazat", confirm_closing: "", confirm_deleting: "Událost bude trvale smazána, opravdu?", section_description: "Poznámky", section_time: "Doba platnosti", confirm_recurring: "Přejete si upravit celou řadu opakovaných událostí?", section_recurring: "Opakování události", button_recurring: "Vypnuto", button_recurring_open: "Zapnuto", button_edit_series: "Edit series", button_edit_occurrence: "Upravit instance", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Program", date: "Datum", description: "Poznámka", year_tab: "Rok", full_day: "Full day", week_agenda_tab: "Program", grid_tab: "Mřížka", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Denně", repeat_radio_week: "Týdně", repeat_radio_month: "Měsíčně", repeat_radio_year: "Ročně", repeat_radio_day_type: "každý", repeat_text_day_count: "Den", repeat_radio_day_type2: "pracovní dny", repeat_week: "Opakuje každých", repeat_text_week_count: "Týdnů na:", repeat_radio_month_type: "u každého", repeat_radio_month_start: "na", repeat_text_month_day: "Den každého", repeat_text_month_count: "Měsíc", repeat_text_month_count2_before: "každý", repeat_text_month_count2_after: "Měsíc", repeat_year_label: "na", select_year_day2: "v", repeat_text_year_day: "Den v", select_year_month: "", repeat_radio_end: "bez data ukončení", repeat_text_occurrences_count: "Události", repeat_radio_end2: "po", repeat_radio_end3: "Konec", repeat_never: "Nikdy", repeat_daily: "Každý den", repeat_workdays: "Každý pracovní den", repeat_weekly: "Každý týden", repeat_monthly: "Každý měsíc", repeat_yearly: "Každý rok", repeat_custom: "Vlastní", repeat_freq_day: "Den", repeat_freq_week: "Týden", repeat_freq_month: "Měsíc", repeat_freq_year: "Rok", repeat_on_date: "Na datum", repeat_ends: "Končí", month_for_recurring: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"], day_for_recurring: ["Neděle ", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota"] } };
8873
- const da = { date: { month_full: ["Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"], month_short: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], day_full: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"], day_short: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør"] }, labels: { dhx_cal_today_button: "Idag", day_tab: "Dag", week_tab: "Uge", month_tab: "Måned", new_event: "Ny begivenhed", icon_save: "Gem", icon_cancel: "Fortryd", icon_details: "Detaljer", icon_edit: "Tilret", icon_delete: "Slet", confirm_closing: "Dine rettelser vil gå tabt.. Er dy sikker?", confirm_deleting: "Bigivenheden vil blive slettet permanent. Er du sikker?", section_description: "Beskrivelse", section_time: "Tidsperiode", confirm_recurring: "Vil du tilrette hele serien af gentagne begivenheder?", section_recurring: "Gentag begivenhed", button_recurring: "Frakoblet", button_recurring_open: "Tilkoblet", button_edit_series: "Rediger serien", button_edit_occurrence: "Rediger en kopi", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Dagsorden", date: "Dato", description: "Beskrivelse", year_tab: "År", week_agenda_tab: "Dagsorden", grid_tab: "Grid", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Daglig", repeat_radio_week: "Ugenlig", repeat_radio_month: "Månedlig", repeat_radio_year: "Årlig", repeat_radio_day_type: "Hver", repeat_text_day_count: "dag", repeat_radio_day_type2: "På hver arbejdsdag", repeat_week: " Gentager sig hver", repeat_text_week_count: "uge på følgende dage:", repeat_radio_month_type: "Hver den", repeat_radio_month_start: "Den", repeat_text_month_day: " i hver", repeat_text_month_count: "måned", repeat_text_month_count2_before: "hver", repeat_text_month_count2_after: "måned", repeat_year_label: "Den", select_year_day2: "i", repeat_text_year_day: "dag i", select_year_month: "", repeat_radio_end: "Ingen slutdato", repeat_text_occurrences_count: "gentagelse", repeat_radio_end2: "Efter", repeat_radio_end3: "Slut", repeat_never: "Aldrig", repeat_daily: "Hver dag", repeat_workdays: "Hver hverdag", repeat_weekly: "Hver uge", repeat_monthly: "Hver måned", repeat_yearly: "Hvert år", repeat_custom: "Brugerdefineret", repeat_freq_day: "Dag", repeat_freq_week: "Uge", repeat_freq_month: "Måned", repeat_freq_year: "År", repeat_on_date: "På dato", repeat_ends: "Slutter", month_for_recurring: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], day_for_recurring: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"] } };
8874
- const de = { date: { month_full: [" Januar", " Februar", " März ", " April", " Mai", " Juni", " Juli", " August", " September ", " Oktober", " November ", " Dezember"], month_short: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"], day_full: ["Sonntag", "Montag", "Dienstag", " Mittwoch", " Donnerstag", "Freitag", "Samstag"], day_short: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"] }, labels: { dhx_cal_today_button: "Heute", day_tab: "Tag", week_tab: "Woche", month_tab: "Monat", new_event: "neuer Eintrag", icon_save: "Speichern", icon_cancel: "Abbrechen", icon_details: "Details", icon_edit: "Ändern", icon_delete: "Löschen", confirm_closing: "", confirm_deleting: "Der Eintrag wird gelöscht", section_description: "Beschreibung", section_time: "Zeitspanne", full_day: "Ganzer Tag", confirm_recurring: "Wollen Sie alle Einträge bearbeiten oder nur diesen einzelnen Eintrag?", section_recurring: "Wiederholung", button_recurring: "Aus", button_recurring_open: "An", button_edit_series: "Bearbeiten Sie die Serie", button_edit_occurrence: "Bearbeiten Sie eine Kopie", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Datum", description: "Beschreibung", year_tab: "Jahre", week_agenda_tab: "Agenda", grid_tab: "Grid", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Täglich", repeat_radio_week: "Wöchentlich", repeat_radio_month: "Monatlich", repeat_radio_year: "Jährlich", repeat_radio_day_type: "jeden", repeat_text_day_count: "Tag", repeat_radio_day_type2: "an jedem Arbeitstag", repeat_week: " Wiederholt sich jede", repeat_text_week_count: "Woche am:", repeat_radio_month_type: "an jedem", repeat_radio_month_start: "am", repeat_text_month_day: "Tag eines jeden", repeat_text_month_count: "Monats", repeat_text_month_count2_before: "jeden", repeat_text_month_count2_after: "Monats", repeat_year_label: "am", select_year_day2: "im", repeat_text_year_day: "Tag im", select_year_month: "", repeat_radio_end: "kein Enddatum", repeat_text_occurrences_count: "Ereignissen", repeat_radio_end3: "Schluß", repeat_radio_end2: "nach", repeat_never: "Nie", repeat_daily: "Jeden Tag", repeat_workdays: "Jeden Werktag", repeat_weekly: "Jede Woche", repeat_monthly: "Jeden Monat", repeat_yearly: "Jedes Jahr", repeat_custom: "Benutzerdefiniert", repeat_freq_day: "Tag", repeat_freq_week: "Woche", repeat_freq_month: "Monat", repeat_freq_year: "Jahr", repeat_on_date: "Am Datum", repeat_ends: "Endet", month_for_recurring: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], day_for_recurring: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"] } };
8875
- const el = { date: { month_full: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάϊος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"], month_short: ["ΙΑΝ", "ΦΕΒ", "ΜΑΡ", "ΑΠΡ", "ΜΑΙ", "ΙΟΥΝ", "ΙΟΥΛ", "ΑΥΓ", "ΣΕΠ", "ΟΚΤ", "ΝΟΕ", "ΔΕΚ"], day_full: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο"], day_short: ["ΚΥ", "ΔΕ", "ΤΡ", "ΤΕ", "ΠΕ", "ΠΑ", "ΣΑ"] }, labels: { dhx_cal_today_button: "Σήμερα", day_tab: "Ημέρα", week_tab: "Εβδομάδα", month_tab: "Μήνας", new_event: "Νέο έργο", icon_save: "Αποθήκευση", icon_cancel: "Άκυρο", icon_details: "Λεπτομέρειες", icon_edit: "Επεξεργασία", icon_delete: "Διαγραφή", confirm_closing: "", confirm_deleting: "Το έργο θα διαγραφεί οριστικά. Θέλετε να συνεχίσετε;", section_description: "Περιγραφή", section_time: "Χρονική περίοδος", full_day: "Πλήρης Ημέρα", confirm_recurring: "Θέλετε να επεξεργασθείτε ολόκληρη την ομάδα των επαναλαμβανόμενων έργων;", section_recurring: "Επαναλαμβανόμενο έργο", button_recurring: "Ανενεργό", button_recurring_open: "Ενεργό", button_edit_series: "Επεξεργαστείτε τη σειρά", button_edit_occurrence: "Επεξεργασία ένα αντίγραφο", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Ημερήσια Διάταξη", date: "Ημερομηνία", description: "Περιγραφή", year_tab: "Έτος", week_agenda_tab: "Ημερήσια Διάταξη", grid_tab: "Πλέγμα", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Ημερησίως", repeat_radio_week: "Εβδομαδιαίως", repeat_radio_month: "Μηνιαίως", repeat_radio_year: "Ετησίως", repeat_radio_day_type: "Κάθε", repeat_text_day_count: "ημέρα", repeat_radio_day_type2: "Κάθε εργάσιμη", repeat_week: " Επανάληψη κάθε", repeat_text_week_count: "εβδομάδα τις επόμενες ημέρες:", repeat_radio_month_type: "Επανάληψη", repeat_radio_month_start: "Την", repeat_text_month_day: "ημέρα κάθε", repeat_text_month_count: "μήνα", repeat_text_month_count2_before: "κάθε", repeat_text_month_count2_after: "μήνα", repeat_year_label: "Την", select_year_day2: "του", repeat_text_year_day: "ημέρα", select_year_month: "μήνα", repeat_radio_end: "Χωρίς ημερομηνία λήξεως", repeat_text_occurrences_count: "επαναλήψεις", repeat_radio_end3: "Λήγει την", repeat_radio_end2: "Μετά από", repeat_never: "Ποτέ", repeat_daily: "Κάθε μέρα", repeat_workdays: "Κάθε εργάσιμη μέρα", repeat_weekly: "Κάθε εβδομάδα", repeat_monthly: "Κάθε μήνα", repeat_yearly: "Κάθε χρόνο", repeat_custom: "Προσαρμοσμένο", repeat_freq_day: "Ημέρα", repeat_freq_week: "Εβδομάδα", repeat_freq_month: "Μήνας", repeat_freq_year: "Χρόνος", repeat_on_date: "Σε ημερομηνία", repeat_ends: "Λήγει", month_for_recurring: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάϊος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"], day_for_recurring: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο"] } };
8876
- const en = { date: { month_full: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], month_short: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], day_full: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], day_short: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"] }, labels: { dhx_cal_today_button: "Today", day_tab: "Day", week_tab: "Week", month_tab: "Month", new_event: "New event", icon_save: "Save", icon_cancel: "Cancel", icon_details: "Details", icon_edit: "Edit", icon_delete: "Delete", confirm_closing: "", confirm_deleting: "Event will be deleted permanently, are you sure?", section_description: "Description", section_time: "Time period", full_day: "Full day", confirm_recurring: "Edit recurring event", section_recurring: "Repeat event", button_recurring: "Disabled", button_recurring_open: "Enabled", button_edit_series: "All events", button_edit_occurrence: "This event", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Date", description: "Description", year_tab: "Year", week_agenda_tab: "Agenda", grid_tab: "Grid", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Daily", repeat_radio_week: "Weekly", repeat_radio_month: "Monthly", repeat_radio_year: "Yearly", repeat_radio_day_type: "Every", repeat_text_day_count: "day", repeat_radio_day_type2: "Every workday", repeat_week: " Repeat every", repeat_text_week_count: "week next days:", repeat_radio_month_type: "Repeat", repeat_radio_month_start: "On", repeat_text_month_day: "day every", repeat_text_month_count: "month", repeat_text_month_count2_before: "every", repeat_text_month_count2_after: "month", repeat_year_label: "On", select_year_day2: "of", repeat_text_year_day: "day", select_year_month: "month", repeat_radio_end: "No end date", repeat_text_occurrences_count: "occurrences", repeat_radio_end2: "After", repeat_radio_end3: "End by", repeat_never: "Never", repeat_daily: "Every day", repeat_workdays: "Every weekday", repeat_weekly: "Every week", repeat_monthly: "Every month", repeat_yearly: "Every year", repeat_custom: "Custom", repeat_freq_day: "Day", repeat_freq_week: "Week", repeat_freq_month: "Month", repeat_freq_year: "Year", repeat_on_date: "On date", repeat_ends: "Ends", month_for_recurring: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], day_for_recurring: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] } };
8877
- const es = { date: { month_full: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"], month_short: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"], day_full: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"], day_short: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb"] }, labels: { dhx_cal_today_button: "Hoy", day_tab: "Día", week_tab: "Semana", month_tab: "Mes", new_event: "Nuevo evento", icon_save: "Guardar", icon_cancel: "Cancelar", icon_details: "Detalles", icon_edit: "Editar", icon_delete: "Eliminar", confirm_closing: "", confirm_deleting: "El evento se borrará definitivamente, ¿continuar?", section_description: "Descripción", section_time: "Período", full_day: "Todo el día", confirm_recurring: "¿Desea modificar el conjunto de eventos repetidos?", section_recurring: "Repita el evento", button_recurring: "Impedido", button_recurring_open: "Permitido", button_edit_series: "Editar la serie", button_edit_occurrence: "Editar este evento", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Día", date: "Fecha", description: "Descripción", year_tab: "Año", week_agenda_tab: "Día", grid_tab: "Reja", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Diariamente", repeat_radio_week: "Semanalmente", repeat_radio_month: "Mensualmente", repeat_radio_year: "Anualmente", repeat_radio_day_type: "Cada", repeat_text_day_count: "dia", repeat_radio_day_type2: "Cada jornada de trabajo", repeat_week: " Repetir cada", repeat_text_week_count: "semana:", repeat_radio_month_type: "Repita", repeat_radio_month_start: "El", repeat_text_month_day: "dia cada ", repeat_text_month_count: "mes", repeat_text_month_count2_before: "cada", repeat_text_month_count2_after: "mes", repeat_year_label: "El", select_year_day2: "del", repeat_text_year_day: "dia", select_year_month: "mes", repeat_radio_end: "Sin fecha de finalización", repeat_text_occurrences_count: "ocurrencias", repeat_radio_end3: "Fin", repeat_radio_end2: "Después de", repeat_never: "Nunca", repeat_daily: "Cada día", repeat_workdays: "Cada día laborable", repeat_weekly: "Cada semana", repeat_monthly: "Cada mes", repeat_yearly: "Cada año", repeat_custom: "Personalizado", repeat_freq_day: "Día", repeat_freq_week: "Semana", repeat_freq_month: "Mes", repeat_freq_year: "Año", repeat_on_date: "En la fecha", repeat_ends: "Termina", month_for_recurring: ["Enero", "Febrero", "Маrzo", "Аbril", "Mayo", "Junio", "Julio", "Аgosto", "Setiembre", "Octubre", "Noviembre", "Diciembre"], day_for_recurring: ["Domingo", "Lunes", "Martes", "Miércoles", "Jeuves", "Viernes", "Sabado"] } };
8878
- const fi = { date: { month_full: ["Tammikuu", "Helmikuu", "Maaliskuu", "Huhtikuu", "Toukokuu", "Kes&auml;kuu", "Hein&auml;kuu", "Elokuu", "Syyskuu", "Lokakuu", "Marraskuu", "Joulukuu"], month_short: ["Tam", "Hel", "Maa", "Huh", "Tou", "Kes", "Hei", "Elo", "Syy", "Lok", "Mar", "Jou"], day_full: ["Sunnuntai", "Maanantai", "Tiistai", "Keskiviikko", "Torstai", "Perjantai", "Lauantai"], day_short: ["Su", "Ma", "Ti", "Ke", "To", "Pe", "La"] }, labels: { dhx_cal_today_button: "Tänään", day_tab: "Päivä", week_tab: "Viikko", month_tab: "Kuukausi", new_event: "Uusi tapahtuma", icon_save: "Tallenna", icon_cancel: "Peru", icon_details: "Tiedot", icon_edit: "Muokkaa", icon_delete: "Poista", confirm_closing: "", confirm_deleting: "Haluatko varmasti poistaa tapahtuman?", section_description: "Kuvaus", section_time: "Aikajakso", full_day: "Koko päivä", confirm_recurring: "Haluatko varmasti muokata toistuvan tapahtuman kaikkia jaksoja?", section_recurring: "Toista tapahtuma", button_recurring: "Ei k&auml;yt&ouml;ss&auml;", button_recurring_open: "K&auml;yt&ouml;ss&auml;", button_edit_series: "Muokkaa sarja", button_edit_occurrence: "Muokkaa kopio", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Esityslista", date: "Päivämäärä", description: "Kuvaus", year_tab: "Vuoden", week_agenda_tab: "Esityslista", grid_tab: "Ritilä", drag_to_create: "Luo uusi vetämällä", drag_to_move: "Siirrä vetämällä", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "P&auml;ivitt&auml;in", repeat_radio_week: "Viikoittain", repeat_radio_month: "Kuukausittain", repeat_radio_year: "Vuosittain", repeat_radio_day_type: "Joka", repeat_text_day_count: "p&auml;iv&auml;", repeat_radio_day_type2: "Joka arkip&auml;iv&auml;", repeat_week: "Toista joka", repeat_text_week_count: "viikko n&auml;in&auml; p&auml;ivin&auml;:", repeat_radio_month_type: "Toista", repeat_radio_month_start: "", repeat_text_month_day: "p&auml;iv&auml;n&auml; joka", repeat_text_month_count: "kuukausi", repeat_text_month_count2_before: "joka", repeat_text_month_count2_after: "kuukausi", repeat_year_label: "", select_year_day2: "", repeat_text_year_day: "p&auml;iv&auml;", select_year_month: "kuukausi", repeat_radio_end: "Ei loppumisaikaa", repeat_text_occurrences_count: "Toiston j&auml;lkeen", repeat_radio_end3: "Loppuu", repeat_radio_end2: "", repeat_never: "Ei koskaan", repeat_daily: "Joka päivä", repeat_workdays: "Joka arkipäivä", repeat_weekly: "Joka viikko", repeat_monthly: "Joka kuukausi", repeat_yearly: "Joka vuosi", repeat_custom: "Mukautettu", repeat_freq_day: "Päivä", repeat_freq_week: "Viikko", repeat_freq_month: "Kuukausi", repeat_freq_year: "Vuosi", repeat_on_date: "Tiettynä päivänä", repeat_ends: "Päättyy", month_for_recurring: ["Tammikuu", "Helmikuu", "Maaliskuu", "Huhtikuu", "Toukokuu", "Kes&auml;kuu", "Hein&auml;kuu", "Elokuu", "Syyskuu", "Lokakuu", "Marraskuu", "Joulukuu"], day_for_recurring: ["Sunnuntai", "Maanantai", "Tiistai", "Keskiviikko", "Torstai", "Perjantai", "Lauantai"] } };
8879
- const fr = { date: { month_full: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"], month_short: ["Jan", "Fév", "Mar", "Avr", "Mai", "Juin", "Juil", "Aoû", "Sep", "Oct", "Nov", "Déc"], day_full: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"], day_short: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"] }, labels: { dhx_cal_today_button: "Aujourd'hui", day_tab: "Jour", week_tab: "Semaine", month_tab: "Mois", new_event: "Nouvel événement", icon_save: "Enregistrer", icon_cancel: "Annuler", icon_details: "Détails", icon_edit: "Modifier", icon_delete: "Effacer", confirm_closing: "", confirm_deleting: "L'événement sera effacé sans appel, êtes-vous sûr ?", section_description: "Description", section_time: "Période", full_day: "Journée complète", confirm_recurring: "Voulez-vous éditer toute une série d'évènements répétés?", section_recurring: "Périodicité", button_recurring: "Désactivé", button_recurring_open: "Activé", button_edit_series: "Modifier la série", button_edit_occurrence: "Modifier une copie", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Jour", date: "Date", description: "Description", year_tab: "Année", week_agenda_tab: "Jour", grid_tab: "Grille", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Quotidienne", repeat_radio_week: "Hebdomadaire", repeat_radio_month: "Mensuelle", repeat_radio_year: "Annuelle", repeat_radio_day_type: "Chaque", repeat_text_day_count: "jour", repeat_radio_day_type2: "Chaque journée de travail", repeat_week: " Répéter toutes les", repeat_text_week_count: "semaine:", repeat_radio_month_type: "Répéter", repeat_radio_month_start: "Le", repeat_text_month_day: "jour chaque", repeat_text_month_count: "mois", repeat_text_month_count2_before: "chaque", repeat_text_month_count2_after: "mois", repeat_year_label: "Le", select_year_day2: "du", repeat_text_year_day: "jour", select_year_month: "mois", repeat_radio_end: "Pas de date d&quot;achèvement", repeat_text_occurrences_count: "occurrences", repeat_radio_end3: "Fin", repeat_radio_end2: "Après", repeat_never: "Jamais", repeat_daily: "Chaque jour", repeat_workdays: "Chaque jour ouvrable", repeat_weekly: "Chaque semaine", repeat_monthly: "Chaque mois", repeat_yearly: "Chaque année", repeat_custom: "Personnalisé", repeat_freq_day: "Jour", repeat_freq_week: "Semaine", repeat_freq_month: "Mois", repeat_freq_year: "Année", repeat_on_date: "À la date", repeat_ends: "Se termine", month_for_recurring: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"], day_for_recurring: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"] } };
8880
- const he = { date: { month_full: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"], month_short: ["ינו", "פבר", "מרץ", "אפר", "מאי", "יונ", "יול", "אוג", "ספט", "אוק", "נוב", "דצמ"], day_full: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת"], day_short: ["א", "ב", "ג", "ד", "ה", "ו", "ש"] }, labels: { dhx_cal_today_button: "היום", day_tab: "יום", week_tab: "שבוע", month_tab: "חודש", new_event: "ארוע חדש", icon_save: "שמור", icon_cancel: "בטל", icon_details: "פרטים", icon_edit: "ערוך", icon_delete: "מחק", confirm_closing: "", confirm_deleting: "ארוע ימחק סופית.להמשיך?", section_description: "תיאור", section_time: "תקופה", confirm_recurring: "האם ברצונך לשנות כל סדרת ארועים מתמשכים?", section_recurring: "להעתיק ארוע", button_recurring: "לא פעיל", button_recurring_open: "פעיל", full_day: "יום שלם", button_edit_series: "ערוך את הסדרה", button_edit_occurrence: "עריכת עותק", button_edit_occurrence_and_following: "This and following events", agenda_tab: "סדר יום", date: "תאריך", description: "תיאור", year_tab: "לשנה", week_agenda_tab: "סדר יום", grid_tab: "סורג", drag_to_create: "Drag to create", drag_to_move: "גרור כדי להזיז", message_ok: "OK", message_cancel: "בטל", next: "הבא", prev: "הקודם", year: "שנה", month: "חודש", day: "יום", hour: "שעה", minute: "דקה", repeat_radio_day: "יומי", repeat_radio_week: "שבועי", repeat_radio_month: "חודשי", repeat_radio_year: "שנתי", repeat_radio_day_type: "חזור כל", repeat_text_day_count: "ימים", repeat_radio_day_type2: "חזור כל יום עבודה", repeat_week: " חזור כל", repeat_text_week_count: "שבוע לפי ימים:", repeat_radio_month_type: "חזור כל", repeat_radio_month_start: "כל", repeat_text_month_day: "ימים כל", repeat_text_month_count: "חודשים", repeat_text_month_count2_before: "חזור כל", repeat_text_month_count2_after: "חודש", repeat_year_label: "כל", select_year_day2: "בחודש", repeat_text_year_day: "ימים", select_year_month: "חודש", repeat_radio_end: "לעולם לא מסתיים", repeat_text_occurrences_count: "אירועים", repeat_radio_end3: "מסתיים ב", repeat_radio_end2: "אחרי", repeat_never: "אף פעם", repeat_daily: "כל יום", repeat_workdays: "כל יום עבודה", repeat_weekly: "כל שבוע", repeat_monthly: "כל חודש", repeat_yearly: "כל שנה", repeat_custom: "מותאם אישית", repeat_freq_day: "יום", repeat_freq_week: "שבוע", repeat_freq_month: "חודש", repeat_freq_year: "שנה", repeat_on_date: "בתאריך", repeat_ends: "מסתיים", month_for_recurring: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"], day_for_recurring: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת"] } };
8881
- const hu = { date: { month_full: ["Január", "Február", "Március", "Április", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December"], month_short: ["Jan", "Feb", "Már", "Ápr", "Máj", "Jún", "Júl", "Aug", "Sep", "Okt", "Nov", "Dec"], day_full: ["Vasárnap", "Hétfõ", "Kedd", "Szerda", "Csütörtök", "Péntek", "szombat"], day_short: ["Va", "Hé", "Ke", "Sze", "Csü", "Pé", "Szo"] }, labels: { dhx_cal_today_button: "Ma", day_tab: "Nap", week_tab: "Hét", month_tab: "Hónap", new_event: "Új esemény", icon_save: "Mentés", icon_cancel: "Mégse", icon_details: "Részletek", icon_edit: "Szerkesztés", icon_delete: "Törlés", confirm_closing: "", confirm_deleting: "Az esemény törölve lesz, biztosan folytatja?", section_description: "Leírás", section_time: "Idõszak", full_day: "Egesz napos", confirm_recurring: "Biztosan szerkeszteni akarod az összes ismétlõdõ esemény beállítását?", section_recurring: "Esemény ismétlése", button_recurring: "Tiltás", button_recurring_open: "Engedélyezés", button_edit_series: "Edit series", button_edit_occurrence: "Szerkesztés bíróság", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Napirend", date: "Dátum", description: "Leírás", year_tab: "Év", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Napi", repeat_radio_week: "Heti", repeat_radio_month: "Havi", repeat_radio_year: "Éves", repeat_radio_day_type: "Minden", repeat_text_day_count: "nap", repeat_radio_day_type2: "Minden munkanap", repeat_week: " Ismételje meg minden", repeat_text_week_count: "héten a következő napokon:", repeat_radio_month_type: "Ismétlés", repeat_radio_month_start: "Ekkor", repeat_text_month_day: "nap minden", repeat_text_month_count: "hónapban", repeat_text_month_count2_before: "minden", repeat_text_month_count2_after: "hónapban", repeat_year_label: "Ekkor", select_year_day2: "-án/-én", repeat_text_year_day: "nap", select_year_month: "hónap", repeat_radio_end: "Nincs befejezési dátum", repeat_text_occurrences_count: "esemény", repeat_radio_end2: "Után", repeat_radio_end3: "Befejező dátum", repeat_never: "Soha", repeat_daily: "Minden nap", repeat_workdays: "Minden munkanap", repeat_weekly: "Minden héten", repeat_monthly: "Minden hónapban", repeat_yearly: "Minden évben", repeat_custom: "Egyedi", repeat_freq_day: "Nap", repeat_freq_week: "Hét", repeat_freq_month: "Hónap", repeat_freq_year: "Év", repeat_on_date: "Dátum szerint", repeat_ends: "Befejeződik", month_for_recurring: ["Január", "Február", "Március", "Április", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December"], day_for_recurring: ["Vasárnap", "Hétfő", "Kedd", "Szerda", "Csütörtök", "Péntek", "Szombat"] } };
8882
- const id = { date: { month_full: ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"], month_short: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ags", "Sep", "Okt", "Nov", "Des"], day_full: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"], day_short: ["Ming", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab"] }, labels: { dhx_cal_today_button: "Hari Ini", day_tab: "Hari", week_tab: "Minggu", month_tab: "Bulan", new_event: "Acara Baru", icon_save: "Simpan", icon_cancel: "Batal", icon_details: "Detail", icon_edit: "Edit", icon_delete: "Hapus", confirm_closing: "", confirm_deleting: "Acara akan dihapus", section_description: "Keterangan", section_time: "Periode", full_day: "Hari penuh", confirm_recurring: "Apakah acara ini akan berulang?", section_recurring: "Acara Rutin", button_recurring: "Tidak Difungsikan", button_recurring_open: "Difungsikan", button_edit_series: "Mengedit seri", button_edit_occurrence: "Mengedit salinan", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Tanggal", description: "Keterangan", year_tab: "Tahun", week_agenda_tab: "Agenda", grid_tab: "Tabel", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Harian", repeat_radio_week: "Mingguan", repeat_radio_month: "Bulanan", repeat_radio_year: "Tahunan", repeat_radio_day_type: "Setiap", repeat_text_day_count: "hari", repeat_radio_day_type2: "Setiap hari kerja", repeat_week: " Ulangi setiap", repeat_text_week_count: "minggu pada hari berikut:", repeat_radio_month_type: "Ulangi", repeat_radio_month_start: "Pada", repeat_text_month_day: "hari setiap", repeat_text_month_count: "bulan", repeat_text_month_count2_before: "setiap", repeat_text_month_count2_after: "bulan", repeat_year_label: "Pada", select_year_day2: "dari", repeat_text_year_day: "hari", select_year_month: "bulan", repeat_radio_end: "Tanpa tanggal akhir", repeat_text_occurrences_count: "kejadian", repeat_radio_end2: "Setelah", repeat_radio_end3: "Berakhir pada", repeat_never: "Tidak pernah", repeat_daily: "Setiap hari", repeat_workdays: "Setiap hari kerja", repeat_weekly: "Setiap minggu", repeat_monthly: "Setiap bulan", repeat_yearly: "Setiap tahun", repeat_custom: "Kustom", repeat_freq_day: "Hari", repeat_freq_week: "Minggu", repeat_freq_month: "Bulan", repeat_freq_year: "Tahun", repeat_on_date: "Pada tanggal", repeat_ends: "Berakhir", month_for_recurring: ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"], day_for_recurring: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"] } };
8883
- const it = { date: { month_full: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], month_short: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"], day_full: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"], day_short: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"] }, labels: { dhx_cal_today_button: "Oggi", day_tab: "Giorno", week_tab: "Settimana", month_tab: "Mese", new_event: "Nuovo evento", icon_save: "Salva", icon_cancel: "Chiudi", icon_details: "Dettagli", icon_edit: "Modifica", icon_delete: "Elimina", confirm_closing: "", confirm_deleting: "L'evento sarà eliminato, siete sicuri?", section_description: "Descrizione", section_time: "Periodo di tempo", full_day: "Intera giornata", confirm_recurring: "Vuoi modificare l'intera serie di eventi?", section_recurring: "Ripetere l'evento", button_recurring: "Disattivato", button_recurring_open: "Attivato", button_edit_series: "Modificare la serie", button_edit_occurrence: "Modificare una copia", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Data", description: "Descrizione", year_tab: "Anno", week_agenda_tab: "Agenda", grid_tab: "Griglia", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Quotidiano", repeat_radio_week: "Settimanale", repeat_radio_month: "Mensile", repeat_radio_year: "Annuale", repeat_radio_day_type: "Ogni", repeat_text_day_count: "giorno", repeat_radio_day_type2: "Ogni giornata lavorativa", repeat_week: " Ripetere ogni", repeat_text_week_count: "settimana:", repeat_radio_month_type: "Ripetere", repeat_radio_month_start: "Il", repeat_text_month_day: "giorno ogni", repeat_text_month_count: "mese", repeat_text_month_count2_before: "ogni", repeat_text_month_count2_after: "mese", repeat_year_label: "Il", select_year_day2: "del", repeat_text_year_day: "giorno", select_year_month: "mese", repeat_radio_end: "Senza data finale", repeat_text_occurrences_count: "occorenze", repeat_radio_end3: "Fine", repeat_radio_end2: "Dopo", repeat_never: "Mai", repeat_daily: "Ogni giorno", repeat_workdays: "Ogni giorno feriale", repeat_weekly: "Ogni settimana", repeat_monthly: "Ogni mese", repeat_yearly: "Ogni anno", repeat_custom: "Personalizzato", repeat_freq_day: "Giorno", repeat_freq_week: "Settimana", repeat_freq_month: "Mese", repeat_freq_year: "Anno", repeat_on_date: "Alla data", repeat_ends: "Finisce", month_for_recurring: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Jiugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], day_for_recurring: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Jovedì", "Venerdì", "Sabato"] } };
8884
- const jp = { date: { month_full: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], month_short: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], day_full: ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"], day_short: ["日", "月", "火", "水", "木", "金", "土"] }, labels: { dhx_cal_today_button: "今日", day_tab: "日", week_tab: "週", month_tab: "月", new_event: "新イベント", icon_save: "保存", icon_cancel: "キャンセル", icon_details: "詳細", icon_edit: "編集", icon_delete: "削除", confirm_closing: "", confirm_deleting: "イベント完全に削除されます、宜しいですか?", section_description: "デスクリプション", section_time: "期間", confirm_recurring: "繰り返されているイベントを全て編集しますか?", section_recurring: "イベントを繰り返す", button_recurring: "無効", button_recurring_open: "有効", full_day: "終日", button_edit_series: "シリーズを編集します", button_edit_occurrence: "コピーを編集", button_edit_occurrence_and_following: "This and following events", agenda_tab: "議題は", date: "日付", description: "説明", year_tab: "今年", week_agenda_tab: "議題は", grid_tab: "グリッド", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "毎日", repeat_radio_week: "毎週", repeat_radio_month: "毎月", repeat_radio_year: "毎年", repeat_radio_day_type: "毎", repeat_text_day_count: "日", repeat_radio_day_type2: "毎営業日", repeat_week: " 繰り返し毎", repeat_text_week_count: "週 次の日:", repeat_radio_month_type: "繰り返し", repeat_radio_month_start: "オン", repeat_text_month_day: "日毎", repeat_text_month_count: "月", repeat_text_month_count2_before: "毎", repeat_text_month_count2_after: "月", repeat_year_label: "オン", select_year_day2: "の", repeat_text_year_day: "日", select_year_month: "月", repeat_radio_end: "終了日なし", repeat_text_occurrences_count: "回数", repeat_radio_end2: "後", repeat_radio_end3: "終了日まで", repeat_never: "決して", repeat_daily: "毎日", repeat_workdays: "毎営業日", repeat_weekly: "毎週", repeat_monthly: "毎月", repeat_yearly: "毎年", repeat_custom: "カスタム", repeat_freq_day: "日", repeat_freq_week: "週", repeat_freq_month: "月", repeat_freq_year: "年", repeat_on_date: "日にち", repeat_ends: "終了", month_for_recurring: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], day_for_recurring: ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"] } };
8885
8886
  class LocaleManager {
8886
8887
  constructor(config) {
8887
8888
  this._locales = {};
@@ -8896,20 +8897,38 @@ class LocaleManager {
8896
8897
  return this._locales[name];
8897
8898
  }
8898
8899
  }
8899
- const nb = { date: { month_full: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], month_short: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"], day_full: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"], day_short: ["Søn", "Mon", "Tir", "Ons", "Tor", "Fre", "Lør"] }, labels: { dhx_cal_today_button: "I dag", day_tab: "Dag", week_tab: "Uke", month_tab: "Måned", new_event: "Ny hendelse", icon_save: "Lagre", icon_cancel: "Avbryt", icon_details: "Detaljer", icon_edit: "Rediger", icon_delete: "Slett", confirm_closing: "", confirm_deleting: "Hendelsen vil bli slettet permanent. Er du sikker?", section_description: "Beskrivelse", section_time: "Tidsperiode", confirm_recurring: "Vil du forandre hele dette settet av repeterende hendelser?", section_recurring: "Repeter hendelsen", button_recurring: "Av", button_recurring_open: "", button_edit_series: "Rediger serien", button_edit_occurrence: "Redigere en kopi", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Dato", description: "Beskrivelse", year_tab: "År", week_agenda_tab: "Agenda", grid_tab: "Grid", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Daglig", repeat_radio_week: "Ukentlig", repeat_radio_month: "Månedlig", repeat_radio_year: "Årlig", repeat_radio_day_type: "Hver", repeat_text_day_count: "dag", repeat_radio_day_type2: "Alle hverdager", repeat_week: " Gjentas hver", repeat_text_week_count: "uke på:", repeat_radio_month_type: "På hver", repeat_radio_month_start: "", repeat_text_month_day: "dag hver", repeat_text_month_count: "måned", repeat_text_month_count2_before: "hver", repeat_text_month_count2_after: "måned", repeat_year_label: "", select_year_day2: "i", repeat_text_year_day: "dag i", select_year_month: "", repeat_radio_end: "Ingen sluttdato", repeat_text_occurrences_count: "forekomst", repeat_radio_end3: "Stop den", repeat_radio_end2: "Etter", repeat_never: "Aldri", repeat_daily: "Hver dag", repeat_workdays: "Hver ukedag", repeat_weekly: "Hver uke", repeat_monthly: "Hver måned", repeat_yearly: "Hvert år", repeat_custom: "Tilpasset", repeat_freq_day: "Dag", repeat_freq_week: "Uke", repeat_freq_month: "Måned", repeat_freq_year: "År", repeat_on_date: " dato", repeat_ends: "Slutter", month_for_recurring: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], day_for_recurring: ["Sondag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"] } };
8900
- const nl = { date: { month_full: ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"], month_short: ["Jan", "Feb", "mrt", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], day_full: ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag"], day_short: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za"] }, labels: { dhx_cal_today_button: "Vandaag", day_tab: "Dag", week_tab: "Week", month_tab: "Maand", new_event: "Nieuw item", icon_save: "Opslaan", icon_cancel: "Annuleren", icon_details: "Details", icon_edit: "Bewerken", icon_delete: "Verwijderen", confirm_closing: "", confirm_deleting: "Item zal permanent worden verwijderd, doorgaan?", section_description: "Beschrijving", section_time: "Tijd periode", full_day: "Hele dag", confirm_recurring: "Wilt u alle terugkerende items bijwerken?", section_recurring: "Item herhalen", button_recurring: "Uit", button_recurring_open: "Aan", button_edit_series: "Bewerk de serie", button_edit_occurrence: "Bewerk een kopie", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Datum", description: "Omschrijving", year_tab: "Jaar", week_agenda_tab: "Agenda", grid_tab: "Tabel", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Dagelijks", repeat_radio_week: "Wekelijks", repeat_radio_month: "Maandelijks", repeat_radio_year: "Jaarlijks", repeat_radio_day_type: "Elke", repeat_text_day_count: "dag(en)", repeat_radio_day_type2: "Elke werkdag", repeat_week: " Herhaal elke", repeat_text_week_count: "week op de volgende dagen:", repeat_radio_month_type: "Herhaal", repeat_radio_month_start: "Op", repeat_text_month_day: "dag iedere", repeat_text_month_count: "maanden", repeat_text_month_count2_before: "iedere", repeat_text_month_count2_after: "maanden", repeat_year_label: "Op", select_year_day2: "van", repeat_text_year_day: "dag", select_year_month: "maand", repeat_radio_end: "Geen eind datum", repeat_text_occurrences_count: "keren", repeat_radio_end3: "Eindigd per", repeat_radio_end2: "Na", repeat_never: "Nooit", repeat_daily: "Elke dag", repeat_workdays: "Elke werkdag", repeat_weekly: "Elke week", repeat_monthly: "Elke maand", repeat_yearly: "Elk jaar", repeat_custom: "Aangepast", repeat_freq_day: "Dag", repeat_freq_week: "Week", repeat_freq_month: "Maand", repeat_freq_year: "Jaar", repeat_on_date: "Op datum", repeat_ends: "Eindigt", month_for_recurring: ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"], day_for_recurring: ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag"] } };
8901
- const no = { date: { month_full: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], month_short: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"], day_full: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"], day_short: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør"] }, labels: { dhx_cal_today_button: "Idag", day_tab: "Dag", week_tab: "Uke", month_tab: "Måned", new_event: "Ny", icon_save: "Lagre", icon_cancel: "Avbryt", icon_details: "Detaljer", icon_edit: "Endre", icon_delete: "Slett", confirm_closing: "Endringer blir ikke lagret, er du sikker?", confirm_deleting: "Oppføringen vil bli slettet, er du sikker?", section_description: "Beskrivelse", section_time: "Tidsperiode", full_day: "Full dag", confirm_recurring: "Vil du endre hele settet med repeterende oppføringer?", section_recurring: "Repeterende oppføring", button_recurring: "Ikke aktiv", button_recurring_open: "Aktiv", button_edit_series: "Rediger serien", button_edit_occurrence: "Redigere en kopi", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Dato", description: "Beskrivelse", year_tab: "År", week_agenda_tab: "Agenda", grid_tab: "Grid", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Daglig", repeat_radio_week: "Ukentlig", repeat_radio_month: "Månedlig", repeat_radio_year: "Årlig", repeat_radio_day_type: "Hver", repeat_text_day_count: "dag", repeat_radio_day_type2: "Hver arbeidsdag", repeat_week: " Gjenta hver", repeat_text_week_count: "uke neste dager:", repeat_radio_month_type: "Gjenta", repeat_radio_month_start: "", repeat_text_month_day: "dag hver", repeat_text_month_count: "måned", repeat_text_month_count2_before: "hver", repeat_text_month_count2_after: "måned", repeat_year_label: "", select_year_day2: "av", repeat_text_year_day: "dag", select_year_month: "måned", repeat_radio_end: "Ingen sluttdato", repeat_text_occurrences_count: "forekomster", repeat_radio_end2: "Etter", repeat_radio_end3: "Slutt innen", repeat_never: "Aldri", repeat_daily: "Hver dag", repeat_workdays: "Hver ukedag", repeat_weekly: "Hver uke", repeat_monthly: "Hver måned", repeat_yearly: "Hvert år", repeat_custom: "Tilpasset", repeat_freq_day: "Dag", repeat_freq_week: "Uke", repeat_freq_month: "Måned", repeat_freq_year: "År", repeat_on_date: " dato", repeat_ends: "Slutter", month_for_recurring: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], day_for_recurring: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"] } };
8902
- const pl = { date: { month_full: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"], month_short: ["Sty", "Lut", "Mar", "Kwi", "Maj", "Cze", "Lip", "Sie", "Wrz", "Paź", "Lis", "Gru"], day_full: ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota"], day_short: ["Nie", "Pon", "Wto", "Śro", "Czw", "Pią", "Sob"] }, labels: { dhx_cal_today_button: "Dziś", day_tab: "Dzień", week_tab: "Tydzień", month_tab: "Miesiąc", new_event: "Nowe zdarzenie", icon_save: "Zapisz", icon_cancel: "Anuluj", icon_details: "Szczegóły", icon_edit: "Edytuj", icon_delete: "Usuń", confirm_closing: "", confirm_deleting: "Zdarzenie zostanie usunięte na zawsze, kontynuować?", section_description: "Opis", section_time: "Okres czasu", full_day: "Cały dzień", confirm_recurring: "Czy chcesz edytować cały zbiór powtarzających się zdarzeń?", section_recurring: "Powtórz zdarzenie", button_recurring: "Nieaktywne", button_recurring_open: "Aktywne", button_edit_series: "Edytuj serię", button_edit_occurrence: "Edytuj kopię", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Data", description: "Opis", year_tab: "Rok", week_agenda_tab: "Agenda", grid_tab: "Tabela", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Codziennie", repeat_radio_week: "Co tydzie", repeat_radio_month: "Co miesic", repeat_radio_year: "Co rok", repeat_radio_day_type: "Kadego", repeat_text_day_count: "dnia", repeat_radio_day_type2: "Kadego dnia roboczego", repeat_week: " Powtarzaj kadego", repeat_text_week_count: "tygodnia w dni:", repeat_radio_month_type: "Powtrz", repeat_radio_month_start: "W", repeat_text_month_day: "dnia kadego", repeat_text_month_count: "miesica", repeat_text_month_count2_before: "kadego", repeat_text_month_count2_after: "miesica", repeat_year_label: "W", select_year_day2: "miesica", repeat_text_year_day: "dnia miesica", select_year_month: "", repeat_radio_end: "Bez daty kocowej", repeat_text_occurrences_count: "wystpieniu/ach", repeat_radio_end3: "Zakocz w", repeat_radio_end2: "Po", repeat_never: "Nigdy", repeat_daily: "Codziennie", repeat_workdays: "Każdy dzień roboczy", repeat_weekly: "Co tydzień", repeat_monthly: "Co miesiąc", repeat_yearly: "Co rok", repeat_custom: "Niestandardowy", repeat_freq_day: "Dzień", repeat_freq_week: "Tydzień", repeat_freq_month: "Miesiąc", repeat_freq_year: "Rok", repeat_on_date: "W dniu", repeat_ends: "Kończy się", month_for_recurring: ["Stycznia", "Lutego", "Marca", "Kwietnia", "Maja", "Czerwca", "Lipca", "Sierpnia", "Wrzenia", "Padziernka", "Listopada", "Grudnia"], day_for_recurring: ["Niedziela", "Poniedziaek", "Wtorek", "roda", "Czwartek", "Pitek", "Sobota"] } };
8903
- const pt = { date: { month_full: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], month_short: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"], day_full: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"], day_short: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sab"] }, labels: { dhx_cal_today_button: "Hoje", day_tab: "Dia", week_tab: "Semana", month_tab: "Mês", new_event: "Novo evento", icon_save: "Salvar", icon_cancel: "Cancelar", icon_details: "Detalhes", icon_edit: "Editar", icon_delete: "Deletar", confirm_closing: "", confirm_deleting: "Tem certeza que deseja excluir?", section_description: "Descrição", section_time: "Período de tempo", full_day: "Dia inteiro", confirm_recurring: "Deseja editar todos esses eventos repetidos?", section_recurring: "Repetir evento", button_recurring: "Desabilitar", button_recurring_open: "Habilitar", button_edit_series: "Editar a série", button_edit_occurrence: "Editar uma cópia", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Dia", date: "Data", description: "Descrição", year_tab: "Ano", week_agenda_tab: "Dia", grid_tab: "Grade", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Diário", repeat_radio_week: "Semanal", repeat_radio_month: "Mensal", repeat_radio_year: "Anual", repeat_radio_day_type: "Cada", repeat_text_day_count: "dia(s)", repeat_radio_day_type2: "Cada trabalho diário", repeat_week: " Repita cada", repeat_text_week_count: "semana:", repeat_radio_month_type: "Repetir", repeat_radio_month_start: "Em", repeat_text_month_day: "todo dia", repeat_text_month_count: "mês", repeat_text_month_count2_before: "todo", repeat_text_month_count2_after: "mês", repeat_year_label: "Em", select_year_day2: "of", repeat_text_year_day: "dia", select_year_month: "mês", repeat_radio_end: "Sem data final", repeat_text_occurrences_count: "ocorrências", repeat_radio_end3: "Fim", repeat_radio_end2: "Depois", repeat_never: "Nunca", repeat_daily: "Todos os dias", repeat_workdays: "Todos os dias úteis", repeat_weekly: "Toda semana", repeat_monthly: "Todo mês", repeat_yearly: "Todo ano", repeat_custom: "Personalizado", repeat_freq_day: "Dia", repeat_freq_week: "Semana", repeat_freq_month: "Mês", repeat_freq_year: "Ano", repeat_on_date: "Na data", repeat_ends: "Termina", month_for_recurring: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], day_for_recurring: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"] } };
8904
- const ro = { date: { month_full: ["Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "November", "December"], month_short: ["Ian", "Feb", "Mar", "Apr", "Mai", "Iun", "Iul", "Aug", "Sep", "Oct", "Nov", "Dec"], day_full: ["Duminica", "Luni", "Marti", "Miercuri", "Joi", "Vineri", "Sambata"], day_short: ["Du", "Lu", "Ma", "Mi", "Jo", "Vi", "Sa"] }, labels: { dhx_cal_today_button: "Astazi", day_tab: "Zi", week_tab: "Saptamana", month_tab: "Luna", new_event: "Eveniment nou", icon_save: "Salveaza", icon_cancel: "Anuleaza", icon_details: "Detalii", icon_edit: "Editeaza", icon_delete: "Sterge", confirm_closing: "Schimbarile nu vor fi salvate, esti sigur?", confirm_deleting: "Evenimentul va fi sters permanent, esti sigur?", section_description: "Descriere", section_time: "Interval", full_day: "Toata ziua", confirm_recurring: "Vrei sa editezi toata seria de evenimente repetate?", section_recurring: "Repetare", button_recurring: "Dezactivata", button_recurring_open: "Activata", button_edit_series: "Editeaza serie", button_edit_occurrence: "Editeaza doar intrare", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Data", description: "Descriere", year_tab: "An", week_agenda_tab: "Agenda", grid_tab: "Lista", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Zilnic", repeat_radio_week: "Saptamanal", repeat_radio_month: "Lunar", repeat_radio_year: "Anual", repeat_radio_day_type: "La fiecare", repeat_text_day_count: "zi(le)", repeat_radio_day_type2: "Fiecare zi lucratoare", repeat_week: " Repeta la fiecare", repeat_text_week_count: "saptamana in urmatoarele zile:", repeat_radio_month_type: "Repeta in", repeat_radio_month_start: "In a", repeat_text_month_day: "zi la fiecare", repeat_text_month_count: "luni", repeat_text_month_count2_before: "la fiecare", repeat_text_month_count2_after: "luni", repeat_year_label: "In", select_year_day2: "a lunii", repeat_text_year_day: "zi a lunii", select_year_month: "", repeat_radio_end: "Fara data de sfarsit", repeat_text_occurrences_count: "evenimente", repeat_radio_end3: "La data", repeat_radio_end2: "Dupa", repeat_never: "Niciodată", repeat_daily: "În fiecare zi", repeat_workdays: "În fiecare zi lucrătoare", repeat_weekly: "În fiecare săptămână", repeat_monthly: "În fiecare lună", repeat_yearly: "În fiecare an", repeat_custom: "Personalizat", repeat_freq_day: "Zi", repeat_freq_week: "Săptămână", repeat_freq_month: "Lună", repeat_freq_year: "An", repeat_on_date: "La data", repeat_ends: "Se termină", month_for_recurring: ["Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "Noiembrie", "Decembrie"], day_for_recurring: ["Duminica", "Luni", "Marti", "Miercuri", "Joi", "Vineri", "Sambata"] } };
8905
- const ru = { date: { month_full: ["Январь", "Февраль", "Март", "Апрель", "Maй", "Июнь", "Июль", "Август", "Сентябрь", "Oктябрь", "Ноябрь", "Декабрь"], month_short: ["Янв", "Фев", "Maр", "Aпр", "Maй", "Июн", "Июл", "Aвг", "Сен", "Окт", "Ноя", "Дек"], day_full: ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"], day_short: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"] }, labels: { dhx_cal_today_button: "Сегодня", day_tab: "День", week_tab: "Неделя", month_tab: "Месяц", new_event: "Новое событие", icon_save: "Сохранить", icon_cancel: "Отменить", icon_details: "Детали", icon_edit: "Изменить", icon_delete: "Удалить", confirm_closing: "", confirm_deleting: "Событие будет удалено безвозвратно, продолжить?", section_description: "Описание", section_time: "Период времени", full_day: "Весь день", confirm_recurring: "Вы хотите изменить всю серию повторяющихся событий?", section_recurring: "Повторение", button_recurring: "Отключено", button_recurring_open: "Включено", button_edit_series: "Редактировать серию", button_edit_occurrence: "Редактировать экземпляр", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Список", date: "Дата", description: "Описание", year_tab: "Год", week_agenda_tab: "Список", grid_tab: "Таблица", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "День", repeat_radio_week: "Неделя", repeat_radio_month: "Месяц", repeat_radio_year: "Год", repeat_radio_day_type: "Каждый", repeat_text_day_count: "день", repeat_radio_day_type2: "Каждый рабочий день", repeat_week: " Повторять каждую", repeat_text_week_count: "неделю , в:", repeat_radio_month_type: "Повторять", repeat_radio_month_start: "", repeat_text_month_day: " числа каждый ", repeat_text_month_count: "месяц", repeat_text_month_count2_before: "каждый ", repeat_text_month_count2_after: "месяц", repeat_year_label: "", select_year_day2: "", repeat_text_year_day: "день", select_year_month: "", repeat_radio_end: "Без даты окончания", repeat_text_occurrences_count: "повторений", repeat_radio_end3: "До ", repeat_radio_end2: "", repeat_never: "Никогда", repeat_daily: "Каждый день", repeat_workdays: "Каждый будний день", repeat_weekly: "Каждую неделю", repeat_monthly: "Каждый месяц", repeat_yearly: "Каждый год", repeat_custom: "Настроить", repeat_freq_day: "День", repeat_freq_week: "Неделя", repeat_freq_month: "Месяц", repeat_freq_year: "Год", repeat_on_date: "В дату", repeat_ends: "Заканчивается", month_for_recurring: ["Января", "Февраля", "Марта", "Апреля", "Мая", "Июня", "Июля", "Августа", "Сентября", "Октября", "Ноября", "Декабря"], day_for_recurring: ["Воскресенье", "Понедельник", "Вторник", "Среду", "Четверг", "Пятницу", "Субботу"] } };
8906
- const si = { date: { month_full: ["Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September", "Oktober", "November", "December"], month_short: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], day_full: ["Nedelja", "Ponedeljek", "Torek", "Sreda", "Četrtek", "Petek", "Sobota"], day_short: ["Ned", "Pon", "Tor", "Sre", "Čet", "Pet", "Sob"] }, labels: { dhx_cal_today_button: "Danes", day_tab: "Dan", week_tab: "Teden", month_tab: "Mesec", new_event: "Nov dogodek", icon_save: "Shrani", icon_cancel: "Prekliči", icon_details: "Podrobnosti", icon_edit: "Uredi", icon_delete: "Izbriši", confirm_closing: "", confirm_deleting: "Dogodek bo izbrisan. Želite nadaljevati?", section_description: "Opis", section_time: "Časovni okvir", full_day: "Ves dan", confirm_recurring: "Želite urediti celoten set ponavljajočih dogodkov?", section_recurring: "Ponovi dogodek", button_recurring: "Onemogočeno", button_recurring_open: "Omogočeno", button_edit_series: "Edit series", button_edit_occurrence: "Edit occurrence", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Zadeva", date: "Datum", description: "Opis", year_tab: "Leto", week_agenda_tab: "Zadeva", grid_tab: "Miza", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Dnevno", repeat_radio_week: "Tedensko", repeat_radio_month: "Mesečno", repeat_radio_year: "Letno", repeat_radio_day_type: "Vsak", repeat_text_day_count: "dan", repeat_radio_day_type2: "Vsak delovni dan", repeat_week: " Ponavljaj vsak", repeat_text_week_count: "teden na naslednje dni:", repeat_radio_month_type: "Ponavljaj", repeat_radio_month_start: "Na", repeat_text_month_day: "dan vsak", repeat_text_month_count: "mesec", repeat_text_month_count2_before: "vsak", repeat_text_month_count2_after: "mesec", repeat_year_label: "Na", select_year_day2: "od", repeat_text_year_day: "dan", select_year_month: "mesec", repeat_radio_end: "Brez končnega datuma", repeat_text_occurrences_count: "pojavitve", repeat_radio_end2: "Po", repeat_radio_end3: "Končaj do", repeat_never: "Nikoli", repeat_daily: "Vsak dan", repeat_workdays: "Vsak delovni dan", repeat_weekly: "Vsak teden", repeat_monthly: "Vsak mesec", repeat_yearly: "Vsako leto", repeat_custom: "Po meri", repeat_freq_day: "Dan", repeat_freq_week: "Teden", repeat_freq_month: "Mesec", repeat_freq_year: "Leto", repeat_on_date: "Na datum", repeat_ends: "Konča se", month_for_recurring: ["Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September", "Oktober", "November", "December"], day_for_recurring: ["Nedelja", "Ponedeljek", "Torek", "Sreda", "Četrtek", "Petek", "Sobota"] } };
8907
- const sk = { date: { month_full: ["Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December"], month_short: ["Jan", "Feb", "Mar", "Apr", "Máj", "Jún", "Júl", "Aug", "Sept", "Okt", "Nov", "Dec"], day_full: ["Nedeľa", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota"], day_short: ["Ne", "Po", "Ut", "St", "Št", "Pi", "So"] }, labels: { dhx_cal_today_button: "Dnes", day_tab: "Deň", week_tab: "Týždeň", month_tab: "Mesiac", new_event: "Nová udalosť", icon_save: "Uložiť", icon_cancel: "Späť", icon_details: "Detail", icon_edit: "Edituj", icon_delete: "Zmazať", confirm_closing: "Vaše zmeny nebudú uložené. Skutočne?", confirm_deleting: "Udalosť bude natrvalo vymazaná. Skutočne?", section_description: "Poznámky", section_time: "Doba platnosti", confirm_recurring: "Prajete si upraviť celú radu opakovaných udalostí?", section_recurring: "Opakovanie udalosti", button_recurring: "Vypnuté", button_recurring_open: "Zapnuté", button_edit_series: "Upraviť opakovania", button_edit_occurrence: "Upraviť inštancie", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Program", date: "Dátum", description: "Poznámka", year_tab: "Rok", full_day: "Celý deň", week_agenda_tab: "Program", grid_tab: "Mriežka", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Denne", repeat_radio_week: "Týždenne", repeat_radio_month: "Mesaène", repeat_radio_year: "Roène", repeat_radio_day_type: "Každý", repeat_text_day_count: "deò", repeat_radio_day_type2: "Každý prac. deò", repeat_week: "Opakova každý", repeat_text_week_count: "týždeò v dòoch:", repeat_radio_month_type: "Opakova", repeat_radio_month_start: "On", repeat_text_month_day: "deò každý", repeat_text_month_count: "mesiac", repeat_text_month_count2_before: "každý", repeat_text_month_count2_after: "mesiac", repeat_year_label: "On", select_year_day2: "poèas", repeat_text_year_day: "deò", select_year_month: "mesiac", repeat_radio_end: "Bez dátumu ukonèenia", repeat_text_occurrences_count: "udalostiach", repeat_radio_end3: "Ukonèi", repeat_radio_end2: "Po", repeat_never: "Nikdy", repeat_daily: "Každý deň", repeat_workdays: "Každý pracovný deň", repeat_weekly: "Každý týždeň", repeat_monthly: "Každý mesiac", repeat_yearly: "Každý rok", repeat_custom: "Vlastné", repeat_freq_day: "Deň", repeat_freq_week: "Týždeň", repeat_freq_month: "Mesiac", repeat_freq_year: "Rok", repeat_on_date: "Na dátum", repeat_ends: "Koniec", month_for_recurring: ["Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December"], day_for_recurring: ["Nede¾a", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota"] } };
8908
- const sv = { date: { month_full: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"], month_short: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], day_full: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag"], day_short: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör"] }, labels: { dhx_cal_today_button: "Idag", day_tab: "Dag", week_tab: "Vecka", month_tab: "Månad", new_event: "Ny händelse", icon_save: "Spara", icon_cancel: "Ångra", icon_details: "Detaljer", icon_edit: "Ändra", icon_delete: "Ta bort", confirm_closing: "", confirm_deleting: "Är du säker att du vill ta bort händelsen permanent?", section_description: "Beskrivning", section_time: "Tid", full_day: "Hela dagen", confirm_recurring: "Vill du redigera hela serien med repeterande händelser?", section_recurring: "Upprepa händelse", button_recurring: "Inaktiverat", button_recurring_open: "Aktiverat", button_edit_series: "Redigera serien", button_edit_occurrence: "Redigera en kopia", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Dagordning", date: "Datum", description: "Beskrivning", year_tab: "År", week_agenda_tab: "Dagordning", grid_tab: "Galler", drag_to_create: "Dra för att skapa ny", drag_to_move: "Dra för att flytta", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Dagligen", repeat_radio_week: "Veckovis", repeat_radio_month: "Månadsvis", repeat_radio_year: "Årligen", repeat_radio_day_type: "Var", repeat_text_day_count: "dag", repeat_radio_day_type2: "Varje arbetsdag", repeat_week: " Upprepa var", repeat_text_week_count: "vecka dessa dagar:", repeat_radio_month_type: "Upprepa", repeat_radio_month_start: "Den", repeat_text_month_day: "dagen var", repeat_text_month_count: "månad", repeat_text_month_count2_before: "var", repeat_text_month_count2_after: "månad", repeat_year_label: "Den", select_year_day2: "i", repeat_text_year_day: "dag i", select_year_month: "månad", repeat_radio_end: "Inget slutdatum", repeat_text_occurrences_count: "upprepningar", repeat_radio_end3: "Sluta efter", repeat_radio_end2: "Efter", repeat_never: "Aldrig", repeat_daily: "Varje dag", repeat_workdays: "Varje vardag", repeat_weekly: "Varje vecka", repeat_monthly: "Varje månad", repeat_yearly: "Varje år", repeat_custom: "Anpassad", repeat_freq_day: "Dag", repeat_freq_week: "Vecka", repeat_freq_month: "Månad", repeat_freq_year: "År", repeat_on_date: " datum", repeat_ends: "Slutar", month_for_recurring: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"], day_for_recurring: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag"] } };
8909
- const tr = { date: { month_full: ["Ocak", "Þubat", "Mart", "Nisan", "Mayýs", "Haziran", "Temmuz", "Aðustos", "Eylül", "Ekim", "Kasým", "Aralýk"], month_short: ["Oca", "Þub", "Mar", "Nis", "May", "Haz", "Tem", "Aðu", "Eyl", "Eki", "Kas", "Ara"], day_full: ["Pazar", "Pazartes,", "Salý", "Çarþamba", "Perþembe", "Cuma", "Cumartesi"], day_short: ["Paz", "Pts", "Sal", "Çar", "Per", "Cum", "Cts"] }, labels: { dhx_cal_today_button: "Bugün", day_tab: "Gün", week_tab: "Hafta", month_tab: "Ay", new_event: "Uygun", icon_save: "Kaydet", icon_cancel: "Ýptal", icon_details: "Detaylar", icon_edit: "Düzenle", icon_delete: "Sil", confirm_closing: "", confirm_deleting: "Etkinlik silinecek, devam?", section_description: "Açýklama", section_time: "Zaman aralýðý", full_day: "Tam gün", confirm_recurring: "Tüm tekrar eden etkinlikler silinecek, devam?", section_recurring: "Etkinliði tekrarla", button_recurring: "Pasif", button_recurring_open: "Aktif", button_edit_series: "Dizi düzenleme", button_edit_occurrence: "Bir kopyasını düzenleyin", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Ajanda", date: "Tarih", description: "Açýklama", year_tab: "Yýl", week_agenda_tab: "Ajanda", grid_tab: "Izgara", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Günlük", repeat_radio_week: "Haftalık", repeat_radio_month: "Aylık", repeat_radio_year: "Yıllık", repeat_radio_day_type: "Her", repeat_text_day_count: "gün", repeat_radio_day_type2: "Her iş günü", repeat_week: " Tekrar her", repeat_text_week_count: "hafta şu günlerde:", repeat_radio_month_type: "Tekrar et", repeat_radio_month_start: "Tarihinde", repeat_text_month_day: "gün her", repeat_text_month_count: "ay", repeat_text_month_count2_before: "her", repeat_text_month_count2_after: "ay", repeat_year_label: "Tarihinde", select_year_day2: "ayın", repeat_text_year_day: "günü", select_year_month: "ay", repeat_radio_end: "Bitiş tarihi yok", repeat_text_occurrences_count: "olay", repeat_radio_end2: "Sonra", repeat_radio_end3: "Tarihinde bitir", repeat_never: "Asla", repeat_daily: "Her gün", repeat_workdays: "Her iş günü", repeat_weekly: "Her hafta", repeat_monthly: "Her ay", repeat_yearly: "Her yıl", repeat_custom: "Özel", repeat_freq_day: "Gün", repeat_freq_week: "Hafta", repeat_freq_month: "Ay", repeat_freq_year: "Yıl", repeat_on_date: "Tarihinde", repeat_ends: "Biter", month_for_recurring: ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"], day_for_recurring: ["Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi"] } };
8910
- const ua = { date: { month_full: ["Січень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"], month_short: ["Січ", "Лют", "Бер", "Кві", "Тра", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Гру"], day_full: ["Неділя", "Понеділок", "Вівторок", "Середа", "Четвер", "П'ятниця", "Субота"], day_short: ["Нед", "Пон", "Вів", "Сер", "Чет", "Птн", "Суб"] }, labels: { dhx_cal_today_button: "Сьогодні", day_tab: "День", week_tab: "Тиждень", month_tab: "Місяць", new_event: "Нова подія", icon_save: "Зберегти", icon_cancel: "Відміна", icon_details: "Деталі", icon_edit: "Редагувати", icon_delete: "Вилучити", confirm_closing: "", confirm_deleting: "Подія вилучиться назавжди. Ви впевнені?", section_description: "Опис", section_time: "Часовий проміжок", full_day: "Весь день", confirm_recurring: "Хочете редагувати весь перелік повторюваних подій?", section_recurring: "Повторювана подія", button_recurring: "Відключено", button_recurring_open: "Включено", button_edit_series: "Редагувати серію", button_edit_occurrence: "Редагувати примірник", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Перелік", date: "Дата", description: "Опис", year_tab: "Рік", week_agenda_tab: "Перелік", grid_tab: "Таблиця", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "День", repeat_radio_week: "Тиждень", repeat_radio_month: "Місяць", repeat_radio_year: "Рік", repeat_radio_day_type: "Кожний", repeat_text_day_count: "день", repeat_radio_day_type2: "Кожний робочий день", repeat_week: " Повторювати кожен", repeat_text_week_count: "тиждень , по:", repeat_radio_month_type: "Повторювати", repeat_radio_month_start: "", repeat_text_month_day: " числа кожний ", repeat_text_month_count: "місяць", repeat_text_month_count2_before: "кожен ", repeat_text_month_count2_after: "місяць", repeat_year_label: "", select_year_day2: "", repeat_text_year_day: "день", select_year_month: "", repeat_radio_end: "Без дати закінчення", repeat_text_occurrences_count: "повторень", repeat_radio_end3: "До ", repeat_radio_end2: "", repeat_never: "Ніколи", repeat_daily: "Щодня", repeat_workdays: "Щодня в робочі дні", repeat_weekly: "Щотижня", repeat_monthly: "Щомісяця", repeat_yearly: "Щороку", repeat_custom: "Налаштоване", repeat_freq_day: "День", repeat_freq_week: "Тиждень", repeat_freq_month: "Місяць", repeat_freq_year: "Рік", repeat_on_date: "На дату", repeat_ends: "Закінчується", month_for_recurring: ["січня", "лютого", "березня", "квітня", "травня", "червня", "липня", "серпня", "вересня", "жовтня", "листопада", "грудня"], day_for_recurring: ["Неділям", "Понеділкам", "Вівторкам", "Середам", "Четвергам", "П'ятницям", "Суботам"] } };
8900
+ const locale_ar = { date: { month_full: ["كانون الثاني", "شباط", "آذار", "نيسان", "أيار", "حزيران", "تموز", "آب", "أيلول", "تشرين الأول", "تشرين الثاني", "كانون الأول"], month_short: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], day_full: ["الأحد", "الأثنين", "ألثلاثاء", "الأربعاء", "ألحميس", "ألجمعة", "السبت"], day_short: ["احد", "اثنين", "ثلاثاء", "اربعاء", "خميس", "جمعة", "سبت"] }, labels: { dhx_cal_today_button: "اليوم", day_tab: "يوم", week_tab: "أسبوع", month_tab: "شهر", new_event: "حدث جديد", icon_save: "اخزن", icon_cancel: "الغاء", icon_details: "تفاصيل", icon_edit: "تحرير", icon_delete: "حذف", confirm_closing: "التغييرات سوف تضيع, هل انت متأكد؟", confirm_deleting: "الحدث سيتم حذفها نهائيا ، هل أنت متأكد؟", section_description: "الوصف", section_time: "الفترة الزمنية", full_day: "طوال اليوم", confirm_recurring: "هل تريد تحرير مجموعة كاملة من الأحداث المتكررة؟", section_recurring: "تكرار الحدث", button_recurring: "تعطيل", button_recurring_open: "تمكين", button_edit_series: "تحرير سلسلة", button_edit_occurrence: "تعديل نسخة", button_edit_occurrence_and_following: "This and following events", grid_tab: "جدول", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "يومي", repeat_radio_week: "أسبوعي", repeat_radio_month: "شهري", repeat_radio_year: "سنوي", repeat_radio_day_type: "كل", repeat_text_day_count: "يوم", repeat_radio_day_type2: "كل يوم عمل", repeat_week: " تكرار كل", repeat_text_week_count: "أسبوع في الأيام التالية:", repeat_radio_month_type: "تكرار", repeat_radio_month_start: "في", repeat_text_month_day: "يوم كل", repeat_text_month_count: "شهر", repeat_text_month_count2_before: "كل", repeat_text_month_count2_after: "شهر", repeat_year_label: "في", select_year_day2: "من", repeat_text_year_day: "يوم", select_year_month: "شهر", repeat_radio_end: "بدون تاريخ انتهاء", repeat_text_occurrences_count: "تكرارات", repeat_radio_end2: "بعد", repeat_radio_end3: "ينتهي في", repeat_never: "أبداً", repeat_daily: "كل يوم", repeat_workdays: "كل يوم عمل", repeat_weekly: "كل أسبوع", repeat_monthly: "كل شهر", repeat_yearly: "كل سنة", repeat_custom: "تخصيص", repeat_freq_day: "يوم", repeat_freq_week: "أسبوع", repeat_freq_month: "شهر", repeat_freq_year: "سنة", repeat_on_date: "في التاريخ", repeat_ends: "ينتهي", month_for_recurring: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], day_for_recurring: ["الأحد", "الإثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت"] } };
8901
+ const locale_be = { date: { month_full: ["Студзень", "Люты", "Сакавік", "Красавік", "Maй", "Чэрвень", "Ліпень", "Жнівень", "Верасень", "Кастрычнік", "Лістапад", "Снежань"], month_short: ["Студз", "Лют", "Сак", "Крас", "Maй", "Чэр", "Ліп", "Жнів", "Вер", "Каст", "Ліст", "Снеж"], day_full: ["Нядзеля", "Панядзелак", "Аўторак", "Серада", "Чацвер", "Пятніца", "Субота"], day_short: ["Нд", "Пн", "Аўт", "Ср", "Чцв", "Пт", "Сб"] }, labels: { dhx_cal_today_button: "Сёння", day_tab: "Дзень", week_tab: "Тыдзень", month_tab: "Месяц", new_event: "Новая падзея", icon_save: "Захаваць", icon_cancel: "Адмяніць", icon_details: "Дэталі", icon_edit: "Змяніць", icon_delete: "Выдаліць", confirm_closing: "", confirm_deleting: "Падзея будзе выдалена незваротна, працягнуць?", section_description: "Апісанне", section_time: "Перыяд часу", full_day: "Увесь дзень", confirm_recurring: "Вы хочаце змяніць усю серыю паўтаральных падзей?", section_recurring: "Паўтарэнне", button_recurring: "Адключана", button_recurring_open: "Уключана", button_edit_series: "Рэдагаваць серыю", button_edit_occurrence: "Рэдагаваць асобнік", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Спіс", date: "Дата", description: "Апісанне", year_tab: "Год", week_agenda_tab: "Спіс", grid_tab: "Спic", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Дзень", repeat_radio_week: "Тыдзень", repeat_radio_month: "Месяц", repeat_radio_year: "Год", repeat_radio_day_type: "Кожны", repeat_text_day_count: "дзень", repeat_radio_day_type2: "Кожны працоўны дзень", repeat_week: " Паўтараць кожны", repeat_text_week_count: "тыдзень", repeat_radio_month_type: "Паўтараць", repeat_radio_month_start: "", repeat_text_month_day: " чысла кожнага", repeat_text_month_count: "месяцу", repeat_text_month_count2_before: "кожны ", repeat_text_month_count2_after: "месяц", repeat_year_label: "", select_year_day2: "", repeat_text_year_day: "дзень", select_year_month: "", repeat_radio_end: "Без даты заканчэння", repeat_text_occurrences_count: "паўтораў", repeat_radio_end2: "", repeat_radio_end3: "Да ", repeat_never: "Ніколі", repeat_daily: "Кожны дзень", repeat_workdays: "Кожны працоўны дзень", repeat_weekly: "Кожны тыдзень", repeat_monthly: "Кожны месяц", repeat_yearly: "Кожны год", repeat_custom: "Наладжвальны", repeat_freq_day: "Дзень", repeat_freq_week: "Тыдзень", repeat_freq_month: "Месяц", repeat_freq_year: "Год", repeat_on_date: "На дату", repeat_ends: "Заканчваецца", month_for_recurring: ["Студзеня", "Лютага", "Сакавіка", "Красавіка", "Мая", "Чэрвеня", "Ліпeня", "Жніўня", "Верасня", "Кастрычніка", "Лістапада", "Снежня"], day_for_recurring: ["Нядзелю", "Панядзелак", "Аўторак", "Сераду", "Чацвер", "Пятніцу", "Суботу"] } };
8902
+ const locale_ca = { date: { month_full: ["Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre"], month_short: ["Gen", "Feb", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Oct", "Nov", "Des"], day_full: ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte"], day_short: ["Dg", "Dl", "Dm", "Dc", "Dj", "Dv", "Ds"] }, labels: { dhx_cal_today_button: "Hui", day_tab: "Dia", week_tab: "Setmana", month_tab: "Mes", new_event: "Nou esdeveniment", icon_save: "Guardar", icon_cancel: "Cancel·lar", icon_details: "Detalls", icon_edit: "Editar", icon_delete: "Esborrar", confirm_closing: "", confirm_deleting: "L'esdeveniment s'esborrarà definitivament, continuar ?", section_description: "Descripció", section_time: "Periode de temps", full_day: "Tot el dia", confirm_recurring: "¿Desitja modificar el conjunt d'esdeveniments repetits?", section_recurring: "Repeteixca l'esdeveniment", button_recurring: "Impedit", button_recurring_open: "Permés", button_edit_series: "Edit sèrie", button_edit_occurrence: "Edita Instància", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Data", description: "Descripció", year_tab: "Any", week_agenda_tab: "Agenda", grid_tab: "Taula", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Diari", repeat_radio_week: "Setmanal", repeat_radio_month: "Mensual", repeat_radio_year: "Anual", repeat_radio_day_type: "Cada", repeat_text_day_count: "dia", repeat_radio_day_type2: "Cada dia laborable", repeat_week: " Repetir cada", repeat_text_week_count: "setmana els dies següents:", repeat_radio_month_type: "Repetir", repeat_radio_month_start: "El", repeat_text_month_day: "dia cada", repeat_text_month_count: "mes", repeat_text_month_count2_before: "cada", repeat_text_month_count2_after: "mes", repeat_year_label: "El", select_year_day2: "de", repeat_text_year_day: "dia", select_year_month: "mes", repeat_radio_end: "Sense data de finalització", repeat_text_occurrences_count: "ocurrències", repeat_radio_end2: "Després", repeat_radio_end3: "Finalitzar el", repeat_never: "Mai", repeat_daily: "Cada dia", repeat_workdays: "Cada dia laborable", repeat_weekly: "Cada setmana", repeat_monthly: "Cada mes", repeat_yearly: "Cada any", repeat_custom: "Personalitzat", repeat_freq_day: "Dia", repeat_freq_week: "Setmana", repeat_freq_month: "Mes", repeat_freq_year: "Any", repeat_on_date: "En la data", repeat_ends: "Finalitza", month_for_recurring: ["Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre"], day_for_recurring: ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte"] } };
8903
+ const locale_cn = { date: { month_full: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], month_short: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], day_full: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"], day_short: ["", "", "", "", "", "", ""] }, labels: { dhx_cal_today_button: "今天", day_tab: "", week_tab: "", month_tab: "", new_event: "新建日程", icon_save: "保存", icon_cancel: "关闭", icon_details: "详细", icon_edit: "编辑", icon_delete: "删除", confirm_closing: "请确认是否撤销修改!", confirm_deleting: "是否删除日程?", section_description: "描述", section_time: "时间范围", full_day: "整天", confirm_recurring: "请确认是否将日程设为重复模式?", section_recurring: "重复周期", button_recurring: "禁用", button_recurring_open: "启用", button_edit_series: "编辑系列", button_edit_occurrence: "编辑实例", button_edit_occurrence_and_following: "This and following events", agenda_tab: "议程", date: "日期", description: "说明", year_tab: "今年", week_agenda_tab: "议程", grid_tab: "电网", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "按天", repeat_radio_week: "按周", repeat_radio_month: "按月", repeat_radio_year: "按年", repeat_radio_day_type: "", repeat_text_day_count: "", repeat_radio_day_type2: "每个工作日", repeat_week: " 重复 ", repeat_text_week_count: "星期的:", repeat_radio_month_type: "重复", repeat_radio_month_start: "", repeat_text_month_day: " ", repeat_text_month_count: "", repeat_text_month_count2_before: "", repeat_text_month_count2_after: "", repeat_year_label: "", select_year_day2: "", repeat_text_year_day: "", select_year_month: "", repeat_radio_end: "无结束日期", repeat_text_occurrences_count: "次结束", repeat_radio_end2: "重复", repeat_radio_end3: "结束于", repeat_never: "从不", repeat_daily: "每天", repeat_workdays: "每个工作日", repeat_weekly: "每周", repeat_monthly: "每月", repeat_yearly: "每年", repeat_custom: "自定义", repeat_freq_day: "", repeat_freq_week: "", repeat_freq_month: "", repeat_freq_year: "", repeat_on_date: "在日期", repeat_ends: "结束", month_for_recurring: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], day_for_recurring: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"] } };
8904
+ const locale_cs = { date: { month_full: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"], month_short: ["Led", "Ún", "Bře", "Dub", "Kvě", "Čer", "Čec", "Srp", "Září", "Říj", "List", "Pro"], day_full: ["Neděle", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota"], day_short: ["Ne", "Po", "Út", "St", "Čt", "", "So"] }, labels: { dhx_cal_today_button: "Dnes", day_tab: "Den", week_tab: "Týden", month_tab: "Měsíc", new_event: "Nová událost", icon_save: "Uložit", icon_cancel: "Zpět", icon_details: "Detail", icon_edit: "Edituj", icon_delete: "Smazat", confirm_closing: "", confirm_deleting: "Událost bude trvale smazána, opravdu?", section_description: "Poznámky", section_time: "Doba platnosti", confirm_recurring: "Přejete si upravit celou řadu opakovaných událostí?", section_recurring: "Opakování události", button_recurring: "Vypnuto", button_recurring_open: "Zapnuto", button_edit_series: "Edit series", button_edit_occurrence: "Upravit instance", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Program", date: "Datum", description: "Poznámka", year_tab: "Rok", full_day: "Full day", week_agenda_tab: "Program", grid_tab: "Mřížka", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Denně", repeat_radio_week: "Týdně", repeat_radio_month: "Měsíčně", repeat_radio_year: "Ročně", repeat_radio_day_type: "každý", repeat_text_day_count: "Den", repeat_radio_day_type2: "pracovní dny", repeat_week: "Opakuje každých", repeat_text_week_count: "Týdnů na:", repeat_radio_month_type: "u každého", repeat_radio_month_start: "na", repeat_text_month_day: "Den každého", repeat_text_month_count: "Měsíc", repeat_text_month_count2_before: "každý", repeat_text_month_count2_after: "Měsíc", repeat_year_label: "na", select_year_day2: "v", repeat_text_year_day: "Den v", select_year_month: "", repeat_radio_end: "bez data ukončení", repeat_text_occurrences_count: "Události", repeat_radio_end2: "po", repeat_radio_end3: "Konec", repeat_never: "Nikdy", repeat_daily: "Každý den", repeat_workdays: "Každý pracovní den", repeat_weekly: "Každý týden", repeat_monthly: "Každý měsíc", repeat_yearly: "Každý rok", repeat_custom: "Vlastní", repeat_freq_day: "Den", repeat_freq_week: "Týden", repeat_freq_month: "Měsíc", repeat_freq_year: "Rok", repeat_on_date: "Na datum", repeat_ends: "Končí", month_for_recurring: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"], day_for_recurring: ["Neděle ", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota"] } };
8905
+ const locale_da = { date: { month_full: ["Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"], month_short: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], day_full: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"], day_short: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør"] }, labels: { dhx_cal_today_button: "Idag", day_tab: "Dag", week_tab: "Uge", month_tab: "Måned", new_event: "Ny begivenhed", icon_save: "Gem", icon_cancel: "Fortryd", icon_details: "Detaljer", icon_edit: "Tilret", icon_delete: "Slet", confirm_closing: "Dine rettelser vil tabt.. Er dy sikker?", confirm_deleting: "Bigivenheden vil blive slettet permanent. Er du sikker?", section_description: "Beskrivelse", section_time: "Tidsperiode", confirm_recurring: "Vil du tilrette hele serien af gentagne begivenheder?", section_recurring: "Gentag begivenhed", button_recurring: "Frakoblet", button_recurring_open: "Tilkoblet", button_edit_series: "Rediger serien", button_edit_occurrence: "Rediger en kopi", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Dagsorden", date: "Dato", description: "Beskrivelse", year_tab: "År", week_agenda_tab: "Dagsorden", grid_tab: "Grid", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Daglig", repeat_radio_week: "Ugenlig", repeat_radio_month: "Månedlig", repeat_radio_year: "Årlig", repeat_radio_day_type: "Hver", repeat_text_day_count: "dag", repeat_radio_day_type2: " hver arbejdsdag", repeat_week: " Gentager sig hver", repeat_text_week_count: "uge følgende dage:", repeat_radio_month_type: "Hver den", repeat_radio_month_start: "Den", repeat_text_month_day: " i hver", repeat_text_month_count: "måned", repeat_text_month_count2_before: "hver", repeat_text_month_count2_after: "måned", repeat_year_label: "Den", select_year_day2: "i", repeat_text_year_day: "dag i", select_year_month: "", repeat_radio_end: "Ingen slutdato", repeat_text_occurrences_count: "gentagelse", repeat_radio_end2: "Efter", repeat_radio_end3: "Slut", repeat_never: "Aldrig", repeat_daily: "Hver dag", repeat_workdays: "Hver hverdag", repeat_weekly: "Hver uge", repeat_monthly: "Hver måned", repeat_yearly: "Hvert år", repeat_custom: "Brugerdefineret", repeat_freq_day: "Dag", repeat_freq_week: "Uge", repeat_freq_month: "Måned", repeat_freq_year: "År", repeat_on_date: " dato", repeat_ends: "Slutter", month_for_recurring: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], day_for_recurring: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"] } };
8906
+ const locale_de = { date: { month_full: [" Januar", " Februar", " März ", " April", " Mai", " Juni", " Juli", " August", " September ", " Oktober", " November ", " Dezember"], month_short: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"], day_full: ["Sonntag", "Montag", "Dienstag", " Mittwoch", " Donnerstag", "Freitag", "Samstag"], day_short: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"] }, labels: { dhx_cal_today_button: "Heute", day_tab: "Tag", week_tab: "Woche", month_tab: "Monat", new_event: "neuer Eintrag", icon_save: "Speichern", icon_cancel: "Abbrechen", icon_details: "Details", icon_edit: "Ändern", icon_delete: "Löschen", confirm_closing: "", confirm_deleting: "Der Eintrag wird gelöscht", section_description: "Beschreibung", section_time: "Zeitspanne", full_day: "Ganzer Tag", confirm_recurring: "Wollen Sie alle Einträge bearbeiten oder nur diesen einzelnen Eintrag?", section_recurring: "Wiederholung", button_recurring: "Aus", button_recurring_open: "An", button_edit_series: "Bearbeiten Sie die Serie", button_edit_occurrence: "Bearbeiten Sie eine Kopie", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Datum", description: "Beschreibung", year_tab: "Jahre", week_agenda_tab: "Agenda", grid_tab: "Grid", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Täglich", repeat_radio_week: "Wöchentlich", repeat_radio_month: "Monatlich", repeat_radio_year: "Jährlich", repeat_radio_day_type: "jeden", repeat_text_day_count: "Tag", repeat_radio_day_type2: "an jedem Arbeitstag", repeat_week: " Wiederholt sich jede", repeat_text_week_count: "Woche am:", repeat_radio_month_type: "an jedem", repeat_radio_month_start: "am", repeat_text_month_day: "Tag eines jeden", repeat_text_month_count: "Monats", repeat_text_month_count2_before: "jeden", repeat_text_month_count2_after: "Monats", repeat_year_label: "am", select_year_day2: "im", repeat_text_year_day: "Tag im", select_year_month: "", repeat_radio_end: "kein Enddatum", repeat_text_occurrences_count: "Ereignissen", repeat_radio_end3: "Schluß", repeat_radio_end2: "nach", repeat_never: "Nie", repeat_daily: "Jeden Tag", repeat_workdays: "Jeden Werktag", repeat_weekly: "Jede Woche", repeat_monthly: "Jeden Monat", repeat_yearly: "Jedes Jahr", repeat_custom: "Benutzerdefiniert", repeat_freq_day: "Tag", repeat_freq_week: "Woche", repeat_freq_month: "Monat", repeat_freq_year: "Jahr", repeat_on_date: "Am Datum", repeat_ends: "Endet", month_for_recurring: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], day_for_recurring: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"] } };
8907
+ const locale_el = { date: { month_full: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάϊος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"], month_short: ["ΙΑΝ", "ΦΕΒ", "ΜΑΡ", "ΑΠΡ", "ΜΑΙ", "ΙΟΥΝ", "ΙΟΥΛ", "ΑΥΓ", "ΣΕΠ", "ΟΚΤ", "ΝΟΕ", "ΔΕΚ"], day_full: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο"], day_short: ["ΚΥ", "ΔΕ", "ΤΡ", "ΤΕ", "ΠΕ", "ΠΑ", "ΣΑ"] }, labels: { dhx_cal_today_button: "Σήμερα", day_tab: "Ημέρα", week_tab: "Εβδομάδα", month_tab: "Μήνας", new_event: "Νέο έργο", icon_save: "Αποθήκευση", icon_cancel: "Άκυρο", icon_details: "Λεπτομέρειες", icon_edit: "Επεξεργασία", icon_delete: "Διαγραφή", confirm_closing: "", confirm_deleting: "Το έργο θα διαγραφεί οριστικά. Θέλετε να συνεχίσετε;", section_description: "Περιγραφή", section_time: "Χρονική περίοδος", full_day: "Πλήρης Ημέρα", confirm_recurring: "Θέλετε να επεξεργασθείτε ολόκληρη την ομάδα των επαναλαμβανόμενων έργων;", section_recurring: "Επαναλαμβανόμενο έργο", button_recurring: "Ανενεργό", button_recurring_open: "Ενεργό", button_edit_series: "Επεξεργαστείτε τη σειρά", button_edit_occurrence: "Επεξεργασία ένα αντίγραφο", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Ημερήσια Διάταξη", date: "Ημερομηνία", description: "Περιγραφή", year_tab: "Έτος", week_agenda_tab: "Ημερήσια Διάταξη", grid_tab: "Πλέγμα", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Ημερησίως", repeat_radio_week: "Εβδομαδιαίως", repeat_radio_month: "Μηνιαίως", repeat_radio_year: "Ετησίως", repeat_radio_day_type: "Κάθε", repeat_text_day_count: "ημέρα", repeat_radio_day_type2: "Κάθε εργάσιμη", repeat_week: " Επανάληψη κάθε", repeat_text_week_count: "εβδομάδα τις επόμενες ημέρες:", repeat_radio_month_type: "Επανάληψη", repeat_radio_month_start: "Την", repeat_text_month_day: "ημέρα κάθε", repeat_text_month_count: "μήνα", repeat_text_month_count2_before: "κάθε", repeat_text_month_count2_after: "μήνα", repeat_year_label: "Την", select_year_day2: "του", repeat_text_year_day: "ημέρα", select_year_month: "μήνα", repeat_radio_end: "Χωρίς ημερομηνία λήξεως", repeat_text_occurrences_count: "επαναλήψεις", repeat_radio_end3: "Λήγει την", repeat_radio_end2: "Μετά από", repeat_never: "Ποτέ", repeat_daily: "Κάθε μέρα", repeat_workdays: "Κάθε εργάσιμη μέρα", repeat_weekly: "Κάθε εβδομάδα", repeat_monthly: "Κάθε μήνα", repeat_yearly: "Κάθε χρόνο", repeat_custom: "Προσαρμοσμένο", repeat_freq_day: "Ημέρα", repeat_freq_week: "Εβδομάδα", repeat_freq_month: "Μήνας", repeat_freq_year: "Χρόνος", repeat_on_date: "Σε ημερομηνία", repeat_ends: "Λήγει", month_for_recurring: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάϊος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"], day_for_recurring: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο"] } };
8908
+ const locale_en = { date: { month_full: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], month_short: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], day_full: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], day_short: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"] }, labels: { dhx_cal_today_button: "Today", day_tab: "Day", week_tab: "Week", month_tab: "Month", new_event: "New event", icon_save: "Save", icon_cancel: "Cancel", icon_details: "Details", icon_edit: "Edit", icon_delete: "Delete", confirm_closing: "", confirm_deleting: "Event will be deleted permanently, are you sure?", section_description: "Description", section_time: "Time period", full_day: "Full day", confirm_recurring: "Edit recurring event", section_recurring: "Repeat event", button_recurring: "Disabled", button_recurring_open: "Enabled", button_edit_series: "All events", button_edit_occurrence: "This event", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Date", description: "Description", year_tab: "Year", week_agenda_tab: "Agenda", grid_tab: "Grid", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Daily", repeat_radio_week: "Weekly", repeat_radio_month: "Monthly", repeat_radio_year: "Yearly", repeat_radio_day_type: "Every", repeat_text_day_count: "day", repeat_radio_day_type2: "Every workday", repeat_week: " Repeat every", repeat_text_week_count: "week next days:", repeat_radio_month_type: "Repeat", repeat_radio_month_start: "On", repeat_text_month_day: "day every", repeat_text_month_count: "month", repeat_text_month_count2_before: "every", repeat_text_month_count2_after: "month", repeat_year_label: "On", select_year_day2: "of", repeat_text_year_day: "day", select_year_month: "month", repeat_radio_end: "No end date", repeat_text_occurrences_count: "occurrences", repeat_radio_end2: "After", repeat_radio_end3: "End by", repeat_never: "Never", repeat_daily: "Every day", repeat_workdays: "Every weekday", repeat_weekly: "Every week", repeat_monthly: "Every month", repeat_yearly: "Every year", repeat_custom: "Custom", repeat_freq_day: "Day", repeat_freq_week: "Week", repeat_freq_month: "Month", repeat_freq_year: "Year", repeat_on_date: "On date", repeat_ends: "Ends", month_for_recurring: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], day_for_recurring: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] } };
8909
+ const locale_es = { date: { month_full: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"], month_short: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"], day_full: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"], day_short: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb"] }, labels: { dhx_cal_today_button: "Hoy", day_tab: "Día", week_tab: "Semana", month_tab: "Mes", new_event: "Nuevo evento", icon_save: "Guardar", icon_cancel: "Cancelar", icon_details: "Detalles", icon_edit: "Editar", icon_delete: "Eliminar", confirm_closing: "", confirm_deleting: "El evento se borrará definitivamente, ¿continuar?", section_description: "Descripción", section_time: "Período", full_day: "Todo el día", confirm_recurring: "¿Desea modificar el conjunto de eventos repetidos?", section_recurring: "Repita el evento", button_recurring: "Impedido", button_recurring_open: "Permitido", button_edit_series: "Editar la serie", button_edit_occurrence: "Editar este evento", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Día", date: "Fecha", description: "Descripción", year_tab: "Año", week_agenda_tab: "Día", grid_tab: "Reja", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Diariamente", repeat_radio_week: "Semanalmente", repeat_radio_month: "Mensualmente", repeat_radio_year: "Anualmente", repeat_radio_day_type: "Cada", repeat_text_day_count: "dia", repeat_radio_day_type2: "Cada jornada de trabajo", repeat_week: " Repetir cada", repeat_text_week_count: "semana:", repeat_radio_month_type: "Repita", repeat_radio_month_start: "El", repeat_text_month_day: "dia cada ", repeat_text_month_count: "mes", repeat_text_month_count2_before: "cada", repeat_text_month_count2_after: "mes", repeat_year_label: "El", select_year_day2: "del", repeat_text_year_day: "dia", select_year_month: "mes", repeat_radio_end: "Sin fecha de finalización", repeat_text_occurrences_count: "ocurrencias", repeat_radio_end3: "Fin", repeat_radio_end2: "Después de", repeat_never: "Nunca", repeat_daily: "Cada día", repeat_workdays: "Cada día laborable", repeat_weekly: "Cada semana", repeat_monthly: "Cada mes", repeat_yearly: "Cada año", repeat_custom: "Personalizado", repeat_freq_day: "Día", repeat_freq_week: "Semana", repeat_freq_month: "Mes", repeat_freq_year: "Año", repeat_on_date: "En la fecha", repeat_ends: "Termina", month_for_recurring: ["Enero", "Febrero", "Маrzo", "Аbril", "Mayo", "Junio", "Julio", "Аgosto", "Setiembre", "Octubre", "Noviembre", "Diciembre"], day_for_recurring: ["Domingo", "Lunes", "Martes", "Miércoles", "Jeuves", "Viernes", "Sabado"] } };
8910
+ const locale_fi = { date: { month_full: ["Tammikuu", "Helmikuu", "Maaliskuu", "Huhtikuu", "Toukokuu", "Kes&auml;kuu", "Hein&auml;kuu", "Elokuu", "Syyskuu", "Lokakuu", "Marraskuu", "Joulukuu"], month_short: ["Tam", "Hel", "Maa", "Huh", "Tou", "Kes", "Hei", "Elo", "Syy", "Lok", "Mar", "Jou"], day_full: ["Sunnuntai", "Maanantai", "Tiistai", "Keskiviikko", "Torstai", "Perjantai", "Lauantai"], day_short: ["Su", "Ma", "Ti", "Ke", "To", "Pe", "La"] }, labels: { dhx_cal_today_button: "Tänään", day_tab: "Päivä", week_tab: "Viikko", month_tab: "Kuukausi", new_event: "Uusi tapahtuma", icon_save: "Tallenna", icon_cancel: "Peru", icon_details: "Tiedot", icon_edit: "Muokkaa", icon_delete: "Poista", confirm_closing: "", confirm_deleting: "Haluatko varmasti poistaa tapahtuman?", section_description: "Kuvaus", section_time: "Aikajakso", full_day: "Koko päivä", confirm_recurring: "Haluatko varmasti muokata toistuvan tapahtuman kaikkia jaksoja?", section_recurring: "Toista tapahtuma", button_recurring: "Ei k&auml;yt&ouml;ss&auml;", button_recurring_open: "K&auml;yt&ouml;ss&auml;", button_edit_series: "Muokkaa sarja", button_edit_occurrence: "Muokkaa kopio", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Esityslista", date: "Päivämäärä", description: "Kuvaus", year_tab: "Vuoden", week_agenda_tab: "Esityslista", grid_tab: "Ritilä", drag_to_create: "Luo uusi vetämällä", drag_to_move: "Siirrä vetämällä", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "P&auml;ivitt&auml;in", repeat_radio_week: "Viikoittain", repeat_radio_month: "Kuukausittain", repeat_radio_year: "Vuosittain", repeat_radio_day_type: "Joka", repeat_text_day_count: "p&auml;iv&auml;", repeat_radio_day_type2: "Joka arkip&auml;iv&auml;", repeat_week: "Toista joka", repeat_text_week_count: "viikko n&auml;in&auml; p&auml;ivin&auml;:", repeat_radio_month_type: "Toista", repeat_radio_month_start: "", repeat_text_month_day: "p&auml;iv&auml;n&auml; joka", repeat_text_month_count: "kuukausi", repeat_text_month_count2_before: "joka", repeat_text_month_count2_after: "kuukausi", repeat_year_label: "", select_year_day2: "", repeat_text_year_day: "p&auml;iv&auml;", select_year_month: "kuukausi", repeat_radio_end: "Ei loppumisaikaa", repeat_text_occurrences_count: "Toiston j&auml;lkeen", repeat_radio_end3: "Loppuu", repeat_radio_end2: "", repeat_never: "Ei koskaan", repeat_daily: "Joka päivä", repeat_workdays: "Joka arkipäivä", repeat_weekly: "Joka viikko", repeat_monthly: "Joka kuukausi", repeat_yearly: "Joka vuosi", repeat_custom: "Mukautettu", repeat_freq_day: "Päivä", repeat_freq_week: "Viikko", repeat_freq_month: "Kuukausi", repeat_freq_year: "Vuosi", repeat_on_date: "Tiettynä päivänä", repeat_ends: "Päättyy", month_for_recurring: ["Tammikuu", "Helmikuu", "Maaliskuu", "Huhtikuu", "Toukokuu", "Kes&auml;kuu", "Hein&auml;kuu", "Elokuu", "Syyskuu", "Lokakuu", "Marraskuu", "Joulukuu"], day_for_recurring: ["Sunnuntai", "Maanantai", "Tiistai", "Keskiviikko", "Torstai", "Perjantai", "Lauantai"] } };
8911
+ const locale_fr = { date: { month_full: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"], month_short: ["Jan", "Fév", "Mar", "Avr", "Mai", "Juin", "Juil", "Aoû", "Sep", "Oct", "Nov", "Déc"], day_full: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"], day_short: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"] }, labels: { dhx_cal_today_button: "Aujourd'hui", day_tab: "Jour", week_tab: "Semaine", month_tab: "Mois", new_event: "Nouvel événement", icon_save: "Enregistrer", icon_cancel: "Annuler", icon_details: "Détails", icon_edit: "Modifier", icon_delete: "Effacer", confirm_closing: "", confirm_deleting: "L'événement sera effacé sans appel, êtes-vous sûr ?", section_description: "Description", section_time: "Période", full_day: "Journée complète", confirm_recurring: "Voulez-vous éditer toute une série d'évènements répétés?", section_recurring: "Périodicité", button_recurring: "Désactivé", button_recurring_open: "Activé", button_edit_series: "Modifier la série", button_edit_occurrence: "Modifier une copie", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Jour", date: "Date", description: "Description", year_tab: "Année", week_agenda_tab: "Jour", grid_tab: "Grille", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Quotidienne", repeat_radio_week: "Hebdomadaire", repeat_radio_month: "Mensuelle", repeat_radio_year: "Annuelle", repeat_radio_day_type: "Chaque", repeat_text_day_count: "jour", repeat_radio_day_type2: "Chaque journée de travail", repeat_week: " Répéter toutes les", repeat_text_week_count: "semaine:", repeat_radio_month_type: "Répéter", repeat_radio_month_start: "Le", repeat_text_month_day: "jour chaque", repeat_text_month_count: "mois", repeat_text_month_count2_before: "chaque", repeat_text_month_count2_after: "mois", repeat_year_label: "Le", select_year_day2: "du", repeat_text_year_day: "jour", select_year_month: "mois", repeat_radio_end: "Pas de date d&quot;achèvement", repeat_text_occurrences_count: "occurrences", repeat_radio_end3: "Fin", repeat_radio_end2: "Après", repeat_never: "Jamais", repeat_daily: "Chaque jour", repeat_workdays: "Chaque jour ouvrable", repeat_weekly: "Chaque semaine", repeat_monthly: "Chaque mois", repeat_yearly: "Chaque année", repeat_custom: "Personnalisé", repeat_freq_day: "Jour", repeat_freq_week: "Semaine", repeat_freq_month: "Mois", repeat_freq_year: "Année", repeat_on_date: "À la date", repeat_ends: "Se termine", month_for_recurring: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"], day_for_recurring: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"] } };
8912
+ const locale_he = { date: { month_full: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"], month_short: ["ינו", "פבר", "מרץ", "אפר", "מאי", "יונ", "יול", "אוג", "ספט", "אוק", "נוב", "דצמ"], day_full: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת"], day_short: ["א", "ב", "ג", "ד", "ה", "ו", "ש"] }, labels: { dhx_cal_today_button: "היום", day_tab: "יום", week_tab: "שבוע", month_tab: "חודש", new_event: "ארוע חדש", icon_save: "שמור", icon_cancel: "בטל", icon_details: "פרטים", icon_edit: "ערוך", icon_delete: "מחק", confirm_closing: "", confirm_deleting: "ארוע ימחק סופית.להמשיך?", section_description: "תיאור", section_time: "תקופה", confirm_recurring: "האם ברצונך לשנות כל סדרת ארועים מתמשכים?", section_recurring: "להעתיק ארוע", button_recurring: "לא פעיל", button_recurring_open: "פעיל", full_day: "יום שלם", button_edit_series: "ערוך את הסדרה", button_edit_occurrence: "עריכת עותק", button_edit_occurrence_and_following: "This and following events", agenda_tab: "סדר יום", date: "תאריך", description: "תיאור", year_tab: "לשנה", week_agenda_tab: "סדר יום", grid_tab: "סורג", drag_to_create: "Drag to create", drag_to_move: "גרור כדי להזיז", message_ok: "OK", message_cancel: "בטל", next: "הבא", prev: "הקודם", year: "שנה", month: "חודש", day: "יום", hour: "שעה", minute: "דקה", repeat_radio_day: "יומי", repeat_radio_week: "שבועי", repeat_radio_month: "חודשי", repeat_radio_year: "שנתי", repeat_radio_day_type: "חזור כל", repeat_text_day_count: "ימים", repeat_radio_day_type2: "חזור כל יום עבודה", repeat_week: " חזור כל", repeat_text_week_count: "שבוע לפי ימים:", repeat_radio_month_type: "חזור כל", repeat_radio_month_start: "כל", repeat_text_month_day: "ימים כל", repeat_text_month_count: "חודשים", repeat_text_month_count2_before: "חזור כל", repeat_text_month_count2_after: "חודש", repeat_year_label: "כל", select_year_day2: "בחודש", repeat_text_year_day: "ימים", select_year_month: "חודש", repeat_radio_end: "לעולם לא מסתיים", repeat_text_occurrences_count: "אירועים", repeat_radio_end3: "מסתיים ב", repeat_radio_end2: "אחרי", repeat_never: "אף פעם", repeat_daily: "כל יום", repeat_workdays: "כל יום עבודה", repeat_weekly: "כל שבוע", repeat_monthly: "כל חודש", repeat_yearly: "כל שנה", repeat_custom: "מותאם אישית", repeat_freq_day: "יום", repeat_freq_week: "שבוע", repeat_freq_month: "חודש", repeat_freq_year: "שנה", repeat_on_date: "בתאריך", repeat_ends: "מסתיים", month_for_recurring: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"], day_for_recurring: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת"] } };
8913
+ const locale_hu = { date: { month_full: ["Január", "Február", "Március", "Április", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December"], month_short: ["Jan", "Feb", "Már", "Ápr", "Máj", "Jún", "Júl", "Aug", "Sep", "Okt", "Nov", "Dec"], day_full: ["Vasárnap", "Hétfõ", "Kedd", "Szerda", "Csütörtök", "Péntek", "szombat"], day_short: ["Va", "Hé", "Ke", "Sze", "Csü", "Pé", "Szo"] }, labels: { dhx_cal_today_button: "Ma", day_tab: "Nap", week_tab: "Hét", month_tab: "Hónap", new_event: "Új esemény", icon_save: "Mentés", icon_cancel: "Mégse", icon_details: "Részletek", icon_edit: "Szerkesztés", icon_delete: "Törlés", confirm_closing: "", confirm_deleting: "Az esemény törölve lesz, biztosan folytatja?", section_description: "Leírás", section_time: "Idõszak", full_day: "Egesz napos", confirm_recurring: "Biztosan szerkeszteni akarod az összes ismétlõdõ esemény beállítását?", section_recurring: "Esemény ismétlése", button_recurring: "Tiltás", button_recurring_open: "Engedélyezés", button_edit_series: "Edit series", button_edit_occurrence: "Szerkesztés bíróság", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Napirend", date: "Dátum", description: "Leírás", year_tab: "Év", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Napi", repeat_radio_week: "Heti", repeat_radio_month: "Havi", repeat_radio_year: "Éves", repeat_radio_day_type: "Minden", repeat_text_day_count: "nap", repeat_radio_day_type2: "Minden munkanap", repeat_week: " Ismételje meg minden", repeat_text_week_count: "héten a következő napokon:", repeat_radio_month_type: "Ismétlés", repeat_radio_month_start: "Ekkor", repeat_text_month_day: "nap minden", repeat_text_month_count: "hónapban", repeat_text_month_count2_before: "minden", repeat_text_month_count2_after: "hónapban", repeat_year_label: "Ekkor", select_year_day2: "-án/-én", repeat_text_year_day: "nap", select_year_month: "hónap", repeat_radio_end: "Nincs befejezési dátum", repeat_text_occurrences_count: "esemény", repeat_radio_end2: "Után", repeat_radio_end3: "Befejező dátum", repeat_never: "Soha", repeat_daily: "Minden nap", repeat_workdays: "Minden munkanap", repeat_weekly: "Minden héten", repeat_monthly: "Minden hónapban", repeat_yearly: "Minden évben", repeat_custom: "Egyedi", repeat_freq_day: "Nap", repeat_freq_week: "Hét", repeat_freq_month: "Hónap", repeat_freq_year: "Év", repeat_on_date: "Dátum szerint", repeat_ends: "Befejeződik", month_for_recurring: ["Január", "Február", "Március", "Április", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December"], day_for_recurring: ["Vasárnap", "Hétfő", "Kedd", "Szerda", "Csütörtök", "Péntek", "Szombat"] } };
8914
+ const locale_id = { date: { month_full: ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"], month_short: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ags", "Sep", "Okt", "Nov", "Des"], day_full: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"], day_short: ["Ming", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab"] }, labels: { dhx_cal_today_button: "Hari Ini", day_tab: "Hari", week_tab: "Minggu", month_tab: "Bulan", new_event: "Acara Baru", icon_save: "Simpan", icon_cancel: "Batal", icon_details: "Detail", icon_edit: "Edit", icon_delete: "Hapus", confirm_closing: "", confirm_deleting: "Acara akan dihapus", section_description: "Keterangan", section_time: "Periode", full_day: "Hari penuh", confirm_recurring: "Apakah acara ini akan berulang?", section_recurring: "Acara Rutin", button_recurring: "Tidak Difungsikan", button_recurring_open: "Difungsikan", button_edit_series: "Mengedit seri", button_edit_occurrence: "Mengedit salinan", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Tanggal", description: "Keterangan", year_tab: "Tahun", week_agenda_tab: "Agenda", grid_tab: "Tabel", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Harian", repeat_radio_week: "Mingguan", repeat_radio_month: "Bulanan", repeat_radio_year: "Tahunan", repeat_radio_day_type: "Setiap", repeat_text_day_count: "hari", repeat_radio_day_type2: "Setiap hari kerja", repeat_week: " Ulangi setiap", repeat_text_week_count: "minggu pada hari berikut:", repeat_radio_month_type: "Ulangi", repeat_radio_month_start: "Pada", repeat_text_month_day: "hari setiap", repeat_text_month_count: "bulan", repeat_text_month_count2_before: "setiap", repeat_text_month_count2_after: "bulan", repeat_year_label: "Pada", select_year_day2: "dari", repeat_text_year_day: "hari", select_year_month: "bulan", repeat_radio_end: "Tanpa tanggal akhir", repeat_text_occurrences_count: "kejadian", repeat_radio_end2: "Setelah", repeat_radio_end3: "Berakhir pada", repeat_never: "Tidak pernah", repeat_daily: "Setiap hari", repeat_workdays: "Setiap hari kerja", repeat_weekly: "Setiap minggu", repeat_monthly: "Setiap bulan", repeat_yearly: "Setiap tahun", repeat_custom: "Kustom", repeat_freq_day: "Hari", repeat_freq_week: "Minggu", repeat_freq_month: "Bulan", repeat_freq_year: "Tahun", repeat_on_date: "Pada tanggal", repeat_ends: "Berakhir", month_for_recurring: ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"], day_for_recurring: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"] } };
8915
+ const locale_it = { date: { month_full: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], month_short: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"], day_full: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"], day_short: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"] }, labels: { dhx_cal_today_button: "Oggi", day_tab: "Giorno", week_tab: "Settimana", month_tab: "Mese", new_event: "Nuovo evento", icon_save: "Salva", icon_cancel: "Chiudi", icon_details: "Dettagli", icon_edit: "Modifica", icon_delete: "Elimina", confirm_closing: "", confirm_deleting: "L'evento sarà eliminato, siete sicuri?", section_description: "Descrizione", section_time: "Periodo di tempo", full_day: "Intera giornata", confirm_recurring: "Vuoi modificare l'intera serie di eventi?", section_recurring: "Ripetere l'evento", button_recurring: "Disattivato", button_recurring_open: "Attivato", button_edit_series: "Modificare la serie", button_edit_occurrence: "Modificare una copia", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Data", description: "Descrizione", year_tab: "Anno", week_agenda_tab: "Agenda", grid_tab: "Griglia", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Quotidiano", repeat_radio_week: "Settimanale", repeat_radio_month: "Mensile", repeat_radio_year: "Annuale", repeat_radio_day_type: "Ogni", repeat_text_day_count: "giorno", repeat_radio_day_type2: "Ogni giornata lavorativa", repeat_week: " Ripetere ogni", repeat_text_week_count: "settimana:", repeat_radio_month_type: "Ripetere", repeat_radio_month_start: "Il", repeat_text_month_day: "giorno ogni", repeat_text_month_count: "mese", repeat_text_month_count2_before: "ogni", repeat_text_month_count2_after: "mese", repeat_year_label: "Il", select_year_day2: "del", repeat_text_year_day: "giorno", select_year_month: "mese", repeat_radio_end: "Senza data finale", repeat_text_occurrences_count: "occorenze", repeat_radio_end3: "Fine", repeat_radio_end2: "Dopo", repeat_never: "Mai", repeat_daily: "Ogni giorno", repeat_workdays: "Ogni giorno feriale", repeat_weekly: "Ogni settimana", repeat_monthly: "Ogni mese", repeat_yearly: "Ogni anno", repeat_custom: "Personalizzato", repeat_freq_day: "Giorno", repeat_freq_week: "Settimana", repeat_freq_month: "Mese", repeat_freq_year: "Anno", repeat_on_date: "Alla data", repeat_ends: "Finisce", month_for_recurring: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Jiugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], day_for_recurring: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Jovedì", "Venerdì", "Sabato"] } };
8916
+ const locale_jp = { date: { month_full: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], month_short: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], day_full: ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"], day_short: ["日", "月", "火", "水", "木", "金", "土"] }, labels: { dhx_cal_today_button: "今日", day_tab: "日", week_tab: "週", month_tab: "月", new_event: "新イベント", icon_save: "保存", icon_cancel: "キャンセル", icon_details: "詳細", icon_edit: "編集", icon_delete: "削除", confirm_closing: "", confirm_deleting: "イベント完全に削除されます、宜しいですか?", section_description: "デスクリプション", section_time: "期間", confirm_recurring: "繰り返されているイベントを全て編集しますか?", section_recurring: "イベントを繰り返す", button_recurring: "無効", button_recurring_open: "有効", full_day: "終日", button_edit_series: "シリーズを編集します", button_edit_occurrence: "コピーを編集", button_edit_occurrence_and_following: "This and following events", agenda_tab: "議題は", date: "日付", description: "説明", year_tab: "今年", week_agenda_tab: "議題は", grid_tab: "グリッド", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "毎日", repeat_radio_week: "毎週", repeat_radio_month: "毎月", repeat_radio_year: "毎年", repeat_radio_day_type: "毎", repeat_text_day_count: "日", repeat_radio_day_type2: "毎営業日", repeat_week: " 繰り返し毎", repeat_text_week_count: "週 次の日:", repeat_radio_month_type: "繰り返し", repeat_radio_month_start: "オン", repeat_text_month_day: "日毎", repeat_text_month_count: "月", repeat_text_month_count2_before: "毎", repeat_text_month_count2_after: "月", repeat_year_label: "オン", select_year_day2: "の", repeat_text_year_day: "日", select_year_month: "月", repeat_radio_end: "終了日なし", repeat_text_occurrences_count: "回数", repeat_radio_end2: "後", repeat_radio_end3: "終了日まで", repeat_never: "決して", repeat_daily: "毎日", repeat_workdays: "毎営業日", repeat_weekly: "毎週", repeat_monthly: "毎月", repeat_yearly: "毎年", repeat_custom: "カスタム", repeat_freq_day: "日", repeat_freq_week: "週", repeat_freq_month: "月", repeat_freq_year: "年", repeat_on_date: "日にち", repeat_ends: "終了", month_for_recurring: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], day_for_recurring: ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"] } };
8917
+ const locale_nb = { date: { month_full: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], month_short: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"], day_full: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"], day_short: ["Søn", "Mon", "Tir", "Ons", "Tor", "Fre", "Lør"] }, labels: { dhx_cal_today_button: "I dag", day_tab: "Dag", week_tab: "Uke", month_tab: "Måned", new_event: "Ny hendelse", icon_save: "Lagre", icon_cancel: "Avbryt", icon_details: "Detaljer", icon_edit: "Rediger", icon_delete: "Slett", confirm_closing: "", confirm_deleting: "Hendelsen vil bli slettet permanent. Er du sikker?", section_description: "Beskrivelse", section_time: "Tidsperiode", confirm_recurring: "Vil du forandre hele dette settet av repeterende hendelser?", section_recurring: "Repeter hendelsen", button_recurring: "Av", button_recurring_open: "På", button_edit_series: "Rediger serien", button_edit_occurrence: "Redigere en kopi", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Dato", description: "Beskrivelse", year_tab: "År", week_agenda_tab: "Agenda", grid_tab: "Grid", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Daglig", repeat_radio_week: "Ukentlig", repeat_radio_month: "Månedlig", repeat_radio_year: "Årlig", repeat_radio_day_type: "Hver", repeat_text_day_count: "dag", repeat_radio_day_type2: "Alle hverdager", repeat_week: " Gjentas hver", repeat_text_week_count: "uke på:", repeat_radio_month_type: "På hver", repeat_radio_month_start: "På", repeat_text_month_day: "dag hver", repeat_text_month_count: "måned", repeat_text_month_count2_before: "hver", repeat_text_month_count2_after: "måned", repeat_year_label: "på", select_year_day2: "i", repeat_text_year_day: "dag i", select_year_month: "", repeat_radio_end: "Ingen sluttdato", repeat_text_occurrences_count: "forekomst", repeat_radio_end3: "Stop den", repeat_radio_end2: "Etter", repeat_never: "Aldri", repeat_daily: "Hver dag", repeat_workdays: "Hver ukedag", repeat_weekly: "Hver uke", repeat_monthly: "Hver måned", repeat_yearly: "Hvert år", repeat_custom: "Tilpasset", repeat_freq_day: "Dag", repeat_freq_week: "Uke", repeat_freq_month: "Måned", repeat_freq_year: "År", repeat_on_date: "På dato", repeat_ends: "Slutter", month_for_recurring: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], day_for_recurring: ["Sondag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"] } };
8918
+ const locale_nl = { date: { month_full: ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"], month_short: ["Jan", "Feb", "mrt", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], day_full: ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag"], day_short: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za"] }, labels: { dhx_cal_today_button: "Vandaag", day_tab: "Dag", week_tab: "Week", month_tab: "Maand", new_event: "Nieuw item", icon_save: "Opslaan", icon_cancel: "Annuleren", icon_details: "Details", icon_edit: "Bewerken", icon_delete: "Verwijderen", confirm_closing: "", confirm_deleting: "Item zal permanent worden verwijderd, doorgaan?", section_description: "Beschrijving", section_time: "Tijd periode", full_day: "Hele dag", confirm_recurring: "Wilt u alle terugkerende items bijwerken?", section_recurring: "Item herhalen", button_recurring: "Uit", button_recurring_open: "Aan", button_edit_series: "Bewerk de serie", button_edit_occurrence: "Bewerk een kopie", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Datum", description: "Omschrijving", year_tab: "Jaar", week_agenda_tab: "Agenda", grid_tab: "Tabel", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Dagelijks", repeat_radio_week: "Wekelijks", repeat_radio_month: "Maandelijks", repeat_radio_year: "Jaarlijks", repeat_radio_day_type: "Elke", repeat_text_day_count: "dag(en)", repeat_radio_day_type2: "Elke werkdag", repeat_week: " Herhaal elke", repeat_text_week_count: "week op de volgende dagen:", repeat_radio_month_type: "Herhaal", repeat_radio_month_start: "Op", repeat_text_month_day: "dag iedere", repeat_text_month_count: "maanden", repeat_text_month_count2_before: "iedere", repeat_text_month_count2_after: "maanden", repeat_year_label: "Op", select_year_day2: "van", repeat_text_year_day: "dag", select_year_month: "maand", repeat_radio_end: "Geen eind datum", repeat_text_occurrences_count: "keren", repeat_radio_end3: "Eindigd per", repeat_radio_end2: "Na", repeat_never: "Nooit", repeat_daily: "Elke dag", repeat_workdays: "Elke werkdag", repeat_weekly: "Elke week", repeat_monthly: "Elke maand", repeat_yearly: "Elk jaar", repeat_custom: "Aangepast", repeat_freq_day: "Dag", repeat_freq_week: "Week", repeat_freq_month: "Maand", repeat_freq_year: "Jaar", repeat_on_date: "Op datum", repeat_ends: "Eindigt", month_for_recurring: ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"], day_for_recurring: ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag"] } };
8919
+ const locale_no = { date: { month_full: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], month_short: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"], day_full: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"], day_short: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør"] }, labels: { dhx_cal_today_button: "Idag", day_tab: "Dag", week_tab: "Uke", month_tab: "Måned", new_event: "Ny", icon_save: "Lagre", icon_cancel: "Avbryt", icon_details: "Detaljer", icon_edit: "Endre", icon_delete: "Slett", confirm_closing: "Endringer blir ikke lagret, er du sikker?", confirm_deleting: "Oppføringen vil bli slettet, er du sikker?", section_description: "Beskrivelse", section_time: "Tidsperiode", full_day: "Full dag", confirm_recurring: "Vil du endre hele settet med repeterende oppføringer?", section_recurring: "Repeterende oppføring", button_recurring: "Ikke aktiv", button_recurring_open: "Aktiv", button_edit_series: "Rediger serien", button_edit_occurrence: "Redigere en kopi", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Dato", description: "Beskrivelse", year_tab: "År", week_agenda_tab: "Agenda", grid_tab: "Grid", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Daglig", repeat_radio_week: "Ukentlig", repeat_radio_month: "Månedlig", repeat_radio_year: "Årlig", repeat_radio_day_type: "Hver", repeat_text_day_count: "dag", repeat_radio_day_type2: "Hver arbeidsdag", repeat_week: " Gjenta hver", repeat_text_week_count: "uke neste dager:", repeat_radio_month_type: "Gjenta", repeat_radio_month_start: "På", repeat_text_month_day: "dag hver", repeat_text_month_count: "måned", repeat_text_month_count2_before: "hver", repeat_text_month_count2_after: "måned", repeat_year_label: "På", select_year_day2: "av", repeat_text_year_day: "dag", select_year_month: "måned", repeat_radio_end: "Ingen sluttdato", repeat_text_occurrences_count: "forekomster", repeat_radio_end2: "Etter", repeat_radio_end3: "Slutt innen", repeat_never: "Aldri", repeat_daily: "Hver dag", repeat_workdays: "Hver ukedag", repeat_weekly: "Hver uke", repeat_monthly: "Hver måned", repeat_yearly: "Hvert år", repeat_custom: "Tilpasset", repeat_freq_day: "Dag", repeat_freq_week: "Uke", repeat_freq_month: "Måned", repeat_freq_year: "År", repeat_on_date: "På dato", repeat_ends: "Slutter", month_for_recurring: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], day_for_recurring: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"] } };
8920
+ const locale_pl = { date: { month_full: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"], month_short: ["Sty", "Lut", "Mar", "Kwi", "Maj", "Cze", "Lip", "Sie", "Wrz", "Paź", "Lis", "Gru"], day_full: ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota"], day_short: ["Nie", "Pon", "Wto", "Śro", "Czw", "Pią", "Sob"] }, labels: { dhx_cal_today_button: "Dziś", day_tab: "Dzień", week_tab: "Tydzień", month_tab: "Miesiąc", new_event: "Nowe zdarzenie", icon_save: "Zapisz", icon_cancel: "Anuluj", icon_details: "Szczegóły", icon_edit: "Edytuj", icon_delete: "Usuń", confirm_closing: "", confirm_deleting: "Zdarzenie zostanie usunięte na zawsze, kontynuować?", section_description: "Opis", section_time: "Okres czasu", full_day: "Cały dzień", confirm_recurring: "Czy chcesz edytować cały zbiór powtarzających się zdarzeń?", section_recurring: "Powtórz zdarzenie", button_recurring: "Nieaktywne", button_recurring_open: "Aktywne", button_edit_series: "Edytuj serię", button_edit_occurrence: "Edytuj kopię", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Data", description: "Opis", year_tab: "Rok", week_agenda_tab: "Agenda", grid_tab: "Tabela", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Codziennie", repeat_radio_week: "Co tydzie", repeat_radio_month: "Co miesic", repeat_radio_year: "Co rok", repeat_radio_day_type: "Kadego", repeat_text_day_count: "dnia", repeat_radio_day_type2: "Kadego dnia roboczego", repeat_week: " Powtarzaj kadego", repeat_text_week_count: "tygodnia w dni:", repeat_radio_month_type: "Powtrz", repeat_radio_month_start: "W", repeat_text_month_day: "dnia kadego", repeat_text_month_count: "miesica", repeat_text_month_count2_before: "kadego", repeat_text_month_count2_after: "miesica", repeat_year_label: "W", select_year_day2: "miesica", repeat_text_year_day: "dnia miesica", select_year_month: "", repeat_radio_end: "Bez daty kocowej", repeat_text_occurrences_count: "wystpieniu/ach", repeat_radio_end3: "Zakocz w", repeat_radio_end2: "Po", repeat_never: "Nigdy", repeat_daily: "Codziennie", repeat_workdays: "Każdy dzień roboczy", repeat_weekly: "Co tydzień", repeat_monthly: "Co miesiąc", repeat_yearly: "Co rok", repeat_custom: "Niestandardowy", repeat_freq_day: "Dzień", repeat_freq_week: "Tydzień", repeat_freq_month: "Miesiąc", repeat_freq_year: "Rok", repeat_on_date: "W dniu", repeat_ends: "Kończy się", month_for_recurring: ["Stycznia", "Lutego", "Marca", "Kwietnia", "Maja", "Czerwca", "Lipca", "Sierpnia", "Wrzenia", "Padziernka", "Listopada", "Grudnia"], day_for_recurring: ["Niedziela", "Poniedziaek", "Wtorek", "roda", "Czwartek", "Pitek", "Sobota"] } };
8921
+ const locale_pt = { date: { month_full: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], month_short: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"], day_full: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"], day_short: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sab"] }, labels: { dhx_cal_today_button: "Hoje", day_tab: "Dia", week_tab: "Semana", month_tab: "Mês", new_event: "Novo evento", icon_save: "Salvar", icon_cancel: "Cancelar", icon_details: "Detalhes", icon_edit: "Editar", icon_delete: "Deletar", confirm_closing: "", confirm_deleting: "Tem certeza que deseja excluir?", section_description: "Descrição", section_time: "Período de tempo", full_day: "Dia inteiro", confirm_recurring: "Deseja editar todos esses eventos repetidos?", section_recurring: "Repetir evento", button_recurring: "Desabilitar", button_recurring_open: "Habilitar", button_edit_series: "Editar a série", button_edit_occurrence: "Editar uma cópia", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Dia", date: "Data", description: "Descrição", year_tab: "Ano", week_agenda_tab: "Dia", grid_tab: "Grade", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Diário", repeat_radio_week: "Semanal", repeat_radio_month: "Mensal", repeat_radio_year: "Anual", repeat_radio_day_type: "Cada", repeat_text_day_count: "dia(s)", repeat_radio_day_type2: "Cada trabalho diário", repeat_week: " Repita cada", repeat_text_week_count: "semana:", repeat_radio_month_type: "Repetir", repeat_radio_month_start: "Em", repeat_text_month_day: "todo dia", repeat_text_month_count: "mês", repeat_text_month_count2_before: "todo", repeat_text_month_count2_after: "mês", repeat_year_label: "Em", select_year_day2: "of", repeat_text_year_day: "dia", select_year_month: "mês", repeat_radio_end: "Sem data final", repeat_text_occurrences_count: "ocorrências", repeat_radio_end3: "Fim", repeat_radio_end2: "Depois", repeat_never: "Nunca", repeat_daily: "Todos os dias", repeat_workdays: "Todos os dias úteis", repeat_weekly: "Toda semana", repeat_monthly: "Todo mês", repeat_yearly: "Todo ano", repeat_custom: "Personalizado", repeat_freq_day: "Dia", repeat_freq_week: "Semana", repeat_freq_month: "Mês", repeat_freq_year: "Ano", repeat_on_date: "Na data", repeat_ends: "Termina", month_for_recurring: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], day_for_recurring: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"] } };
8922
+ const locale_ro = { date: { month_full: ["Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "November", "December"], month_short: ["Ian", "Feb", "Mar", "Apr", "Mai", "Iun", "Iul", "Aug", "Sep", "Oct", "Nov", "Dec"], day_full: ["Duminica", "Luni", "Marti", "Miercuri", "Joi", "Vineri", "Sambata"], day_short: ["Du", "Lu", "Ma", "Mi", "Jo", "Vi", "Sa"] }, labels: { dhx_cal_today_button: "Astazi", day_tab: "Zi", week_tab: "Saptamana", month_tab: "Luna", new_event: "Eveniment nou", icon_save: "Salveaza", icon_cancel: "Anuleaza", icon_details: "Detalii", icon_edit: "Editeaza", icon_delete: "Sterge", confirm_closing: "Schimbarile nu vor fi salvate, esti sigur?", confirm_deleting: "Evenimentul va fi sters permanent, esti sigur?", section_description: "Descriere", section_time: "Interval", full_day: "Toata ziua", confirm_recurring: "Vrei sa editezi toata seria de evenimente repetate?", section_recurring: "Repetare", button_recurring: "Dezactivata", button_recurring_open: "Activata", button_edit_series: "Editeaza serie", button_edit_occurrence: "Editeaza doar intrare", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Data", description: "Descriere", year_tab: "An", week_agenda_tab: "Agenda", grid_tab: "Lista", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Zilnic", repeat_radio_week: "Saptamanal", repeat_radio_month: "Lunar", repeat_radio_year: "Anual", repeat_radio_day_type: "La fiecare", repeat_text_day_count: "zi(le)", repeat_radio_day_type2: "Fiecare zi lucratoare", repeat_week: " Repeta la fiecare", repeat_text_week_count: "saptamana in urmatoarele zile:", repeat_radio_month_type: "Repeta in", repeat_radio_month_start: "In a", repeat_text_month_day: "zi la fiecare", repeat_text_month_count: "luni", repeat_text_month_count2_before: "la fiecare", repeat_text_month_count2_after: "luni", repeat_year_label: "In", select_year_day2: "a lunii", repeat_text_year_day: "zi a lunii", select_year_month: "", repeat_radio_end: "Fara data de sfarsit", repeat_text_occurrences_count: "evenimente", repeat_radio_end3: "La data", repeat_radio_end2: "Dupa", repeat_never: "Niciodată", repeat_daily: "În fiecare zi", repeat_workdays: "În fiecare zi lucrătoare", repeat_weekly: "În fiecare săptămână", repeat_monthly: "În fiecare lună", repeat_yearly: "În fiecare an", repeat_custom: "Personalizat", repeat_freq_day: "Zi", repeat_freq_week: "Săptămână", repeat_freq_month: "Lună", repeat_freq_year: "An", repeat_on_date: "La data", repeat_ends: "Se termină", month_for_recurring: ["Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "Noiembrie", "Decembrie"], day_for_recurring: ["Duminica", "Luni", "Marti", "Miercuri", "Joi", "Vineri", "Sambata"] } };
8923
+ const locale_ru = { date: { month_full: ["Январь", "Февраль", "Март", "Апрель", "Maй", "Июнь", "Июль", "Август", "Сентябрь", "Oктябрь", "Ноябрь", "Декабрь"], month_short: ["Янв", "Фев", "Maр", "Aпр", "Maй", "Июн", "Июл", "Aвг", "Сен", "Окт", "Ноя", "Дек"], day_full: ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"], day_short: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"] }, labels: { dhx_cal_today_button: "Сегодня", day_tab: "День", week_tab: "Неделя", month_tab: "Месяц", new_event: "Новое событие", icon_save: "Сохранить", icon_cancel: "Отменить", icon_details: "Детали", icon_edit: "Изменить", icon_delete: "Удалить", confirm_closing: "", confirm_deleting: "Событие будет удалено безвозвратно, продолжить?", section_description: "Описание", section_time: "Период времени", full_day: "Весь день", confirm_recurring: "Вы хотите изменить всю серию повторяющихся событий?", section_recurring: "Повторение", button_recurring: "Отключено", button_recurring_open: "Включено", button_edit_series: "Редактировать серию", button_edit_occurrence: "Редактировать экземпляр", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Список", date: "Дата", description: "Описание", year_tab: "Год", week_agenda_tab: "Список", grid_tab: "Таблица", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "День", repeat_radio_week: "Неделя", repeat_radio_month: "Месяц", repeat_radio_year: "Год", repeat_radio_day_type: "Каждый", repeat_text_day_count: "день", repeat_radio_day_type2: "Каждый рабочий день", repeat_week: " Повторять каждую", repeat_text_week_count: "неделю , в:", repeat_radio_month_type: "Повторять", repeat_radio_month_start: "", repeat_text_month_day: " числа каждый ", repeat_text_month_count: "месяц", repeat_text_month_count2_before: "каждый ", repeat_text_month_count2_after: "месяц", repeat_year_label: "", select_year_day2: "", repeat_text_year_day: "день", select_year_month: "", repeat_radio_end: "Без даты окончания", repeat_text_occurrences_count: "повторений", repeat_radio_end3: "До ", repeat_radio_end2: "", repeat_never: "Никогда", repeat_daily: "Каждый день", repeat_workdays: "Каждый будний день", repeat_weekly: "Каждую неделю", repeat_monthly: "Каждый месяц", repeat_yearly: "Каждый год", repeat_custom: "Настроить", repeat_freq_day: "День", repeat_freq_week: "Неделя", repeat_freq_month: "Месяц", repeat_freq_year: "Год", repeat_on_date: "В дату", repeat_ends: "Заканчивается", month_for_recurring: ["Января", "Февраля", "Марта", "Апреля", "Мая", "Июня", "Июля", "Августа", "Сентября", "Октября", "Ноября", "Декабря"], day_for_recurring: ["Воскресенье", "Понедельник", "Вторник", "Среду", "Четверг", "Пятницу", "Субботу"] } };
8924
+ const locale_si = { date: { month_full: ["Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September", "Oktober", "November", "December"], month_short: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], day_full: ["Nedelja", "Ponedeljek", "Torek", "Sreda", "Četrtek", "Petek", "Sobota"], day_short: ["Ned", "Pon", "Tor", "Sre", "Čet", "Pet", "Sob"] }, labels: { dhx_cal_today_button: "Danes", day_tab: "Dan", week_tab: "Teden", month_tab: "Mesec", new_event: "Nov dogodek", icon_save: "Shrani", icon_cancel: "Prekliči", icon_details: "Podrobnosti", icon_edit: "Uredi", icon_delete: "Izbriši", confirm_closing: "", confirm_deleting: "Dogodek bo izbrisan. Želite nadaljevati?", section_description: "Opis", section_time: "Časovni okvir", full_day: "Ves dan", confirm_recurring: "Želite urediti celoten set ponavljajočih dogodkov?", section_recurring: "Ponovi dogodek", button_recurring: "Onemogočeno", button_recurring_open: "Omogočeno", button_edit_series: "Edit series", button_edit_occurrence: "Edit occurrence", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Zadeva", date: "Datum", description: "Opis", year_tab: "Leto", week_agenda_tab: "Zadeva", grid_tab: "Miza", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Dnevno", repeat_radio_week: "Tedensko", repeat_radio_month: "Mesečno", repeat_radio_year: "Letno", repeat_radio_day_type: "Vsak", repeat_text_day_count: "dan", repeat_radio_day_type2: "Vsak delovni dan", repeat_week: " Ponavljaj vsak", repeat_text_week_count: "teden na naslednje dni:", repeat_radio_month_type: "Ponavljaj", repeat_radio_month_start: "Na", repeat_text_month_day: "dan vsak", repeat_text_month_count: "mesec", repeat_text_month_count2_before: "vsak", repeat_text_month_count2_after: "mesec", repeat_year_label: "Na", select_year_day2: "od", repeat_text_year_day: "dan", select_year_month: "mesec", repeat_radio_end: "Brez končnega datuma", repeat_text_occurrences_count: "pojavitve", repeat_radio_end2: "Po", repeat_radio_end3: "Končaj do", repeat_never: "Nikoli", repeat_daily: "Vsak dan", repeat_workdays: "Vsak delovni dan", repeat_weekly: "Vsak teden", repeat_monthly: "Vsak mesec", repeat_yearly: "Vsako leto", repeat_custom: "Po meri", repeat_freq_day: "Dan", repeat_freq_week: "Teden", repeat_freq_month: "Mesec", repeat_freq_year: "Leto", repeat_on_date: "Na datum", repeat_ends: "Konča se", month_for_recurring: ["Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September", "Oktober", "November", "December"], day_for_recurring: ["Nedelja", "Ponedeljek", "Torek", "Sreda", "Četrtek", "Petek", "Sobota"] } };
8925
+ const locale_sk = { date: { month_full: ["Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December"], month_short: ["Jan", "Feb", "Mar", "Apr", "Máj", "Jún", "Júl", "Aug", "Sept", "Okt", "Nov", "Dec"], day_full: ["Nedeľa", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota"], day_short: ["Ne", "Po", "Ut", "St", "Št", "Pi", "So"] }, labels: { dhx_cal_today_button: "Dnes", day_tab: "Deň", week_tab: "Týždeň", month_tab: "Mesiac", new_event: "Nová udalosť", icon_save: "Uložiť", icon_cancel: "Späť", icon_details: "Detail", icon_edit: "Edituj", icon_delete: "Zmazať", confirm_closing: "Vaše zmeny nebudú uložené. Skutočne?", confirm_deleting: "Udalosť bude natrvalo vymazaná. Skutočne?", section_description: "Poznámky", section_time: "Doba platnosti", confirm_recurring: "Prajete si upraviť celú radu opakovaných udalostí?", section_recurring: "Opakovanie udalosti", button_recurring: "Vypnuté", button_recurring_open: "Zapnuté", button_edit_series: "Upraviť opakovania", button_edit_occurrence: "Upraviť inštancie", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Program", date: "Dátum", description: "Poznámka", year_tab: "Rok", full_day: "Celý deň", week_agenda_tab: "Program", grid_tab: "Mriežka", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Denne", repeat_radio_week: "Týždenne", repeat_radio_month: "Mesaène", repeat_radio_year: "Roène", repeat_radio_day_type: "Každý", repeat_text_day_count: "deò", repeat_radio_day_type2: "Každý prac. deò", repeat_week: "Opakova každý", repeat_text_week_count: "týždeò v dòoch:", repeat_radio_month_type: "Opakova", repeat_radio_month_start: "On", repeat_text_month_day: "deò každý", repeat_text_month_count: "mesiac", repeat_text_month_count2_before: "každý", repeat_text_month_count2_after: "mesiac", repeat_year_label: "On", select_year_day2: "poèas", repeat_text_year_day: "deò", select_year_month: "mesiac", repeat_radio_end: "Bez dátumu ukonèenia", repeat_text_occurrences_count: "udalostiach", repeat_radio_end3: "Ukonèi", repeat_radio_end2: "Po", repeat_never: "Nikdy", repeat_daily: "Každý deň", repeat_workdays: "Každý pracovný deň", repeat_weekly: "Každý týždeň", repeat_monthly: "Každý mesiac", repeat_yearly: "Každý rok", repeat_custom: "Vlastné", repeat_freq_day: "Deň", repeat_freq_week: "Týždeň", repeat_freq_month: "Mesiac", repeat_freq_year: "Rok", repeat_on_date: "Na dátum", repeat_ends: "Koniec", month_for_recurring: ["Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December"], day_for_recurring: ["Nede¾a", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota"] } };
8926
+ const locale_sv = { date: { month_full: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"], month_short: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], day_full: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag"], day_short: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör"] }, labels: { dhx_cal_today_button: "Idag", day_tab: "Dag", week_tab: "Vecka", month_tab: "Månad", new_event: "Ny händelse", icon_save: "Spara", icon_cancel: "Ångra", icon_details: "Detaljer", icon_edit: "Ändra", icon_delete: "Ta bort", confirm_closing: "", confirm_deleting: "Är du säker på att du vill ta bort händelsen permanent?", section_description: "Beskrivning", section_time: "Tid", full_day: "Hela dagen", confirm_recurring: "Vill du redigera hela serien med repeterande händelser?", section_recurring: "Upprepa händelse", button_recurring: "Inaktiverat", button_recurring_open: "Aktiverat", button_edit_series: "Redigera serien", button_edit_occurrence: "Redigera en kopia", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Dagordning", date: "Datum", description: "Beskrivning", year_tab: "År", week_agenda_tab: "Dagordning", grid_tab: "Galler", drag_to_create: "Dra för att skapa ny", drag_to_move: "Dra för att flytta", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Dagligen", repeat_radio_week: "Veckovis", repeat_radio_month: "Månadsvis", repeat_radio_year: "Årligen", repeat_radio_day_type: "Var", repeat_text_day_count: "dag", repeat_radio_day_type2: "Varje arbetsdag", repeat_week: " Upprepa var", repeat_text_week_count: "vecka dessa dagar:", repeat_radio_month_type: "Upprepa", repeat_radio_month_start: "Den", repeat_text_month_day: "dagen var", repeat_text_month_count: "månad", repeat_text_month_count2_before: "var", repeat_text_month_count2_after: "månad", repeat_year_label: "Den", select_year_day2: "i", repeat_text_year_day: "dag i", select_year_month: "månad", repeat_radio_end: "Inget slutdatum", repeat_text_occurrences_count: "upprepningar", repeat_radio_end3: "Sluta efter", repeat_radio_end2: "Efter", repeat_never: "Aldrig", repeat_daily: "Varje dag", repeat_workdays: "Varje vardag", repeat_weekly: "Varje vecka", repeat_monthly: "Varje månad", repeat_yearly: "Varje år", repeat_custom: "Anpassad", repeat_freq_day: "Dag", repeat_freq_week: "Vecka", repeat_freq_month: "Månad", repeat_freq_year: "År", repeat_on_date: "På datum", repeat_ends: "Slutar", month_for_recurring: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"], day_for_recurring: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag"] } };
8927
+ const locale_tr = { date: { month_full: ["Ocak", "Þubat", "Mart", "Nisan", "Mayýs", "Haziran", "Temmuz", "Aðustos", "Eylül", "Ekim", "Kasým", "Aralýk"], month_short: ["Oca", "Þub", "Mar", "Nis", "May", "Haz", "Tem", "Aðu", "Eyl", "Eki", "Kas", "Ara"], day_full: ["Pazar", "Pazartes,", "Salý", "Çarþamba", "Perþembe", "Cuma", "Cumartesi"], day_short: ["Paz", "Pts", "Sal", "Çar", "Per", "Cum", "Cts"] }, labels: { dhx_cal_today_button: "Bugün", day_tab: "Gün", week_tab: "Hafta", month_tab: "Ay", new_event: "Uygun", icon_save: "Kaydet", icon_cancel: "Ýptal", icon_details: "Detaylar", icon_edit: "Düzenle", icon_delete: "Sil", confirm_closing: "", confirm_deleting: "Etkinlik silinecek, devam?", section_description: "Açýklama", section_time: "Zaman aralýðý", full_day: "Tam gün", confirm_recurring: "Tüm tekrar eden etkinlikler silinecek, devam?", section_recurring: "Etkinliði tekrarla", button_recurring: "Pasif", button_recurring_open: "Aktif", button_edit_series: "Dizi düzenleme", button_edit_occurrence: "Bir kopyasını düzenleyin", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Ajanda", date: "Tarih", description: "Açýklama", year_tab: "Yýl", week_agenda_tab: "Ajanda", grid_tab: "Izgara", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Günlük", repeat_radio_week: "Haftalık", repeat_radio_month: "Aylık", repeat_radio_year: "Yıllık", repeat_radio_day_type: "Her", repeat_text_day_count: "gün", repeat_radio_day_type2: "Her iş günü", repeat_week: " Tekrar her", repeat_text_week_count: "hafta şu günlerde:", repeat_radio_month_type: "Tekrar et", repeat_radio_month_start: "Tarihinde", repeat_text_month_day: "gün her", repeat_text_month_count: "ay", repeat_text_month_count2_before: "her", repeat_text_month_count2_after: "ay", repeat_year_label: "Tarihinde", select_year_day2: "ayın", repeat_text_year_day: "günü", select_year_month: "ay", repeat_radio_end: "Bitiş tarihi yok", repeat_text_occurrences_count: "olay", repeat_radio_end2: "Sonra", repeat_radio_end3: "Tarihinde bitir", repeat_never: "Asla", repeat_daily: "Her gün", repeat_workdays: "Her iş günü", repeat_weekly: "Her hafta", repeat_monthly: "Her ay", repeat_yearly: "Her yıl", repeat_custom: "Özel", repeat_freq_day: "Gün", repeat_freq_week: "Hafta", repeat_freq_month: "Ay", repeat_freq_year: "Yıl", repeat_on_date: "Tarihinde", repeat_ends: "Biter", month_for_recurring: ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"], day_for_recurring: ["Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi"] } };
8928
+ const locale_ua = { date: { month_full: ["Січень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"], month_short: ["Січ", "Лют", "Бер", "Кві", "Тра", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Гру"], day_full: ["Неділя", "Понеділок", "Вівторок", "Середа", "Четвер", "П'ятниця", "Субота"], day_short: ["Нед", "Пон", "Вів", "Сер", "Чет", "Птн", "Суб"] }, labels: { dhx_cal_today_button: "Сьогодні", day_tab: "День", week_tab: "Тиждень", month_tab: "Місяць", new_event: "Нова подія", icon_save: "Зберегти", icon_cancel: "Відміна", icon_details: "Деталі", icon_edit: "Редагувати", icon_delete: "Вилучити", confirm_closing: "", confirm_deleting: "Подія вилучиться назавжди. Ви впевнені?", section_description: "Опис", section_time: "Часовий проміжок", full_day: "Весь день", confirm_recurring: "Хочете редагувати весь перелік повторюваних подій?", section_recurring: "Повторювана подія", button_recurring: "Відключено", button_recurring_open: "Включено", button_edit_series: "Редагувати серію", button_edit_occurrence: "Редагувати примірник", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Перелік", date: "Дата", description: "Опис", year_tab: "Рік", week_agenda_tab: "Перелік", grid_tab: "Таблиця", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "День", repeat_radio_week: "Тиждень", repeat_radio_month: "Місяць", repeat_radio_year: "Рік", repeat_radio_day_type: "Кожний", repeat_text_day_count: "день", repeat_radio_day_type2: "Кожний робочий день", repeat_week: " Повторювати кожен", repeat_text_week_count: "тиждень , по:", repeat_radio_month_type: "Повторювати", repeat_radio_month_start: "", repeat_text_month_day: " числа кожний ", repeat_text_month_count: "місяць", repeat_text_month_count2_before: "кожен ", repeat_text_month_count2_after: "місяць", repeat_year_label: "", select_year_day2: "", repeat_text_year_day: "день", select_year_month: "", repeat_radio_end: "Без дати закінчення", repeat_text_occurrences_count: "повторень", repeat_radio_end3: "До ", repeat_radio_end2: "", repeat_never: "Ніколи", repeat_daily: "Щодня", repeat_workdays: "Щодня в робочі дні", repeat_weekly: "Щотижня", repeat_monthly: "Щомісяця", repeat_yearly: "Щороку", repeat_custom: "Налаштоване", repeat_freq_day: "День", repeat_freq_week: "Тиждень", repeat_freq_month: "Місяць", repeat_freq_year: "Рік", repeat_on_date: "На дату", repeat_ends: "Закінчується", month_for_recurring: ["січня", "лютого", "березня", "квітня", "травня", "червня", "липня", "серпня", "вересня", "жовтня", "листопада", "грудня"], day_for_recurring: ["Неділям", "Понеділкам", "Вівторкам", "Середам", "Четвергам", "П'ятницям", "Суботам"] } };
8929
+ const locales = Object.freeze(Object.defineProperty({ __proto__: null, ar: locale_ar, be: locale_be, ca: locale_ca, cn: locale_cn, cs: locale_cs, da: locale_da, de: locale_de, el: locale_el, en: locale_en, es: locale_es, fi: locale_fi, fr: locale_fr, he: locale_he, hu: locale_hu, id: locale_id, it: locale_it, jp: locale_jp, nb: locale_nb, nl: locale_nl, no: locale_no, pl: locale_pl, pt: locale_pt, ro: locale_ro, ru: locale_ru, si: locale_si, sk: locale_sk, sv: locale_sv, tr: locale_tr, ua: locale_ua }, Symbol.toStringTag, { value: "Module" }));
8911
8930
  function i18nFactory() {
8912
- return new LocaleManager({ en, ar, be, ca, cn, cs, da, de, el, es, fi, fr, he, hu, id, it, jp, nb, nl, no, pl, pt, ro, ru, si, sk, sv, tr, ua });
8931
+ return new LocaleManager(locales);
8913
8932
  }
8914
8933
  class DatePicker {
8915
8934
  constructor(scheduler2, container, state = {}) {
@@ -9196,7 +9215,7 @@ class DatePicker {
9196
9215
  }
9197
9216
  }
9198
9217
  function factoryMethod(extensionManager) {
9199
- const scheduler2 = { version: "7.2.5" };
9218
+ const scheduler2 = { version: "7.2.8" };
9200
9219
  scheduler2.$stateProvider = StateService();
9201
9220
  scheduler2.getState = scheduler2.$stateProvider.getState;
9202
9221
  extend$n(scheduler2);
@@ -9220,7 +9239,7 @@ function factoryMethod(extensionManager) {
9220
9239
  const messageApi = message(scheduler2);
9221
9240
  scheduler2.utils.mixin(scheduler2, messageApi);
9222
9241
  scheduler2.env = scheduler2.$env = env;
9223
- scheduler2.Promise = window.Promise;
9242
+ scheduler2.Promise = Promise;
9224
9243
  extend$g(scheduler2);
9225
9244
  extend$f(scheduler2);
9226
9245
  extend$e(scheduler2);
@@ -9285,6 +9304,7 @@ function factoryMethod(extensionManager) {
9285
9304
  }
9286
9305
  }
9287
9306
  });
9307
+ return activePlugins;
9288
9308
  };
9289
9309
  function getExtensionList(config, dependencies, priorities) {
9290
9310
  const result = [];
@@ -9811,12 +9831,12 @@ function all_timed(scheduler2) {
9811
9831
  return scheduler2.ext.allTimed.isMainAreaEvent(ev);
9812
9832
  };
9813
9833
  var oldUpdate = scheduler2.updateEvent;
9814
- scheduler2.updateEvent = function(id2) {
9815
- var ev = scheduler2.getEvent(id2);
9834
+ scheduler2.updateEvent = function(id) {
9835
+ var ev = scheduler2.getEvent(id);
9816
9836
  var fullRedrawNeeded;
9817
9837
  var initial;
9818
9838
  if (ev) {
9819
- fullRedrawNeeded = scheduler2.config.all_timed && !(scheduler2.isOneDayEvent(scheduler2._events[id2]) || scheduler2.getState().drag_id);
9839
+ fullRedrawNeeded = scheduler2.config.all_timed && !(scheduler2.isOneDayEvent(scheduler2._events[id]) || scheduler2.getState().drag_id);
9820
9840
  if (fullRedrawNeeded) {
9821
9841
  initial = scheduler2.config.update_render;
9822
9842
  scheduler2.config.update_render = true;
@@ -9840,20 +9860,20 @@ function collision(scheduler2) {
9840
9860
  temp_section = scheduler2.getEvent(event_id)[scheduler2._get_section_property()];
9841
9861
  }
9842
9862
  }
9843
- scheduler2.attachEvent("onBeforeDrag", function(id2) {
9844
- _setTempSection(id2);
9863
+ scheduler2.attachEvent("onBeforeDrag", function(id) {
9864
+ _setTempSection(id);
9845
9865
  return true;
9846
9866
  });
9847
- scheduler2.attachEvent("onBeforeLightbox", function(id2) {
9848
- const ev = scheduler2.getEvent(id2);
9867
+ scheduler2.attachEvent("onBeforeLightbox", function(id) {
9868
+ const ev = scheduler2.getEvent(id);
9849
9869
  before = [ev.start_date, ev.end_date];
9850
- _setTempSection(id2);
9870
+ _setTempSection(id);
9851
9871
  return true;
9852
9872
  });
9853
- scheduler2.attachEvent("onEventChanged", function(id2) {
9854
- if (!id2 || !scheduler2.getEvent(id2))
9873
+ scheduler2.attachEvent("onEventChanged", function(id) {
9874
+ if (!id || !scheduler2.getEvent(id))
9855
9875
  return true;
9856
- const ev = scheduler2.getEvent(id2);
9876
+ const ev = scheduler2.getEvent(id);
9857
9877
  if (!scheduler2.checkCollision(ev)) {
9858
9878
  if (!before)
9859
9879
  return false;
@@ -9866,16 +9886,16 @@ function collision(scheduler2) {
9866
9886
  scheduler2.attachEvent("onBeforeEventChanged", function(ev, e, is_new) {
9867
9887
  return scheduler2.checkCollision(ev);
9868
9888
  });
9869
- scheduler2.attachEvent("onEventAdded", function(id2, ev) {
9889
+ scheduler2.attachEvent("onEventAdded", function(id, ev) {
9870
9890
  const result = scheduler2.checkCollision(ev);
9871
9891
  if (!result)
9872
- scheduler2.deleteEvent(id2);
9892
+ scheduler2.deleteEvent(id);
9873
9893
  });
9874
- scheduler2.attachEvent("onEventSave", function(id2, edited_ev, is_new) {
9894
+ scheduler2.attachEvent("onEventSave", function(id, edited_ev, is_new) {
9875
9895
  edited_ev = scheduler2._lame_clone(edited_ev);
9876
- edited_ev.id = id2;
9896
+ edited_ev.id = id;
9877
9897
  if (!(edited_ev.start_date && edited_ev.end_date)) {
9878
- const ev = scheduler2.getEvent(id2);
9898
+ const ev = scheduler2.getEvent(id);
9879
9899
  edited_ev.start_date = new Date(ev.start_date);
9880
9900
  edited_ev.end_date = new Date(ev.end_date);
9881
9901
  }
@@ -10238,8 +10258,8 @@ function container_autoresize(scheduler2) {
10238
10258
  }
10239
10259
  function cookie(scheduler2) {
10240
10260
  function setCookie(name, cookie_param, value) {
10241
- var str = name + "=" + value + (cookie_param ? "; " + cookie_param : "");
10242
- document.cookie = str;
10261
+ const str = `${name}=${value}${cookie_param ? `; ${cookie_param}` : ""}`;
10262
+ document.cookie = `${str}; Secure`;
10243
10263
  }
10244
10264
  function getCookie(name) {
10245
10265
  var search = name + "=";
@@ -10328,9 +10348,9 @@ function editors(scheduler2) {
10328
10348
  }, set_value: function(node, value, ev, config) {
10329
10349
  (function() {
10330
10350
  resetCombo();
10331
- var id2 = scheduler2.attachEvent("onAfterLightbox", function() {
10351
+ var id = scheduler2.attachEvent("onAfterLightbox", function() {
10332
10352
  resetCombo();
10333
- scheduler2.detachEvent(id2);
10353
+ scheduler2.detachEvent(id);
10334
10354
  });
10335
10355
  function resetCombo() {
10336
10356
  if (node._combo && node._combo.DOMParent) {
@@ -10406,8 +10426,8 @@ function editors(scheduler2) {
10406
10426
  var res = "";
10407
10427
  res += `<div class='dhx_cal_ltext dhx_cal_radio ${sns.vertical ? "dhx_cal_radio_vertical" : ""}' style='height:${sns.height}px;'>`;
10408
10428
  for (var i = 0; i < sns.options.length; i++) {
10409
- var id2 = scheduler2.uid();
10410
- res += "<label class='dhx_cal_radio_item' for='" + id2 + "'><input id='" + id2 + "' type='radio' name='" + sns.name + "' value='" + sns.options[i].key + "'><span> " + sns.options[i].label + "</span></label>";
10429
+ var id = scheduler2.uid();
10430
+ res += "<label class='dhx_cal_radio_item' for='" + id + "'><input id='" + id + "' type='radio' name='" + sns.name + "' value='" + sns.options[i].key + "'><span> " + sns.options[i].label + "</span></label>";
10411
10431
  }
10412
10432
  res += "</div>";
10413
10433
  return res;
@@ -10439,11 +10459,11 @@ function editors(scheduler2) {
10439
10459
  if (config.height) {
10440
10460
  node.style.height = `${config.height}px`;
10441
10461
  }
10442
- var id2 = scheduler2.uid();
10462
+ var id = scheduler2.uid();
10443
10463
  var isChecked = typeof config.checked_value != "undefined" ? value == config.checked_value : !!value;
10444
10464
  node.className += " dhx_cal_checkbox";
10445
- var check_html = "<input id='" + id2 + "' type='checkbox' value='true' name='" + config.name + "'" + (isChecked ? "checked='true'" : "") + "'>";
10446
- var label_html = "<label for='" + id2 + "'>" + (scheduler2.locale.labels["section_" + config.name] || config.name) + "</label>";
10465
+ var check_html = "<input id='" + id + "' type='checkbox' value='true' name='" + config.name + "'" + (isChecked ? "checked='true'" : "") + "'>";
10466
+ var label_html = "<label for='" + id + "'>" + (scheduler2.locale.labels["section_" + config.name] || config.name) + "</label>";
10447
10467
  if (scheduler2.config.wide_form) {
10448
10468
  node.innerHTML = label_html;
10449
10469
  node.nextSibling.innerHTML = check_html;
@@ -10561,14 +10581,14 @@ function html_templates(scheduler2) {
10561
10581
  scheduler2.attachEvent("onTemplatesReady", function() {
10562
10582
  var els = document.body.getElementsByTagName("DIV");
10563
10583
  for (var i = 0; i < els.length; i++) {
10564
- var cs2 = els[i].className || "";
10565
- cs2 = cs2.split(":");
10566
- if (cs2.length == 2 && cs2[0] == "template") {
10584
+ var cs = els[i].className || "";
10585
+ cs = cs.split(":");
10586
+ if (cs.length == 2 && cs[0] == "template") {
10567
10587
  var code = 'return "' + (els[i].innerHTML || "").replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/[\n\r]+/g, "") + '";';
10568
10588
  code = unescape(code).replace(/\{event\.([a-z]+)\}/g, function(all, mask) {
10569
10589
  return '"+ev.' + mask + '+"';
10570
10590
  });
10571
- scheduler2.templates[cs2[1]] = Function("start", "end", "ev", code);
10591
+ scheduler2.templates[cs[1]] = Function("start", "end", "ev", code);
10572
10592
  els[i].style.display = "none";
10573
10593
  }
10574
10594
  }
@@ -11071,15 +11091,15 @@ function scheduler_node(scheduler2) {
11071
11091
  return evs[i];
11072
11092
  }
11073
11093
  return null;
11074
- }, nextEventHandler: function(id2) {
11094
+ }, nextEventHandler: function(id) {
11075
11095
  var activeNode = scheduler2.$keyboardNavigation.dispatcher.activeNode;
11076
- var startId = id2 || activeNode && activeNode.eventId;
11096
+ var startId = id || activeNode && activeNode.eventId;
11077
11097
  var nextEvent = null;
11078
11098
  if (startId && scheduler2.getEvent(startId)) {
11079
11099
  var currEvent = scheduler2.getEvent(startId);
11080
11100
  nextEvent = scheduler2.$keyboardNavigation.SchedulerNode.prototype._pickEvent(currEvent.start_date, scheduler2.date.add(currEvent.start_date, 1, "year"), currEvent.id, false);
11081
11101
  }
11082
- if (!nextEvent && !id2) {
11102
+ if (!nextEvent && !id) {
11083
11103
  var visibleDates = scheduler2.getState();
11084
11104
  nextEvent = scheduler2.$keyboardNavigation.SchedulerNode.prototype._pickEvent(visibleDates.min_date, scheduler2.date.add(visibleDates.min_date, 1, "year"), null, false);
11085
11105
  }
@@ -11094,15 +11114,15 @@ function scheduler_node(scheduler2) {
11094
11114
  scheduler2.$keyboardNavigation.dispatcher.setActiveNode(nextEv);
11095
11115
  }
11096
11116
  }
11097
- }, prevEventHandler: function(id2) {
11117
+ }, prevEventHandler: function(id) {
11098
11118
  var activeNode = scheduler2.$keyboardNavigation.dispatcher.activeNode;
11099
- var startId = id2 || activeNode && activeNode.eventId;
11119
+ var startId = id || activeNode && activeNode.eventId;
11100
11120
  var nextEvent = null;
11101
11121
  if (startId && scheduler2.getEvent(startId)) {
11102
11122
  var currEvent = scheduler2.getEvent(startId);
11103
11123
  nextEvent = scheduler2.$keyboardNavigation.SchedulerNode.prototype._pickEvent(scheduler2.date.add(currEvent.end_date, -1, "year"), currEvent.end_date, currEvent.id, true);
11104
11124
  }
11105
- if (!nextEvent && !id2) {
11125
+ if (!nextEvent && !id) {
11106
11126
  var visibleDates = scheduler2.getState();
11107
11127
  nextEvent = scheduler2.$keyboardNavigation.SchedulerNode.prototype._pickEvent(scheduler2.date.add(visibleDates.max_date, -1, "year"), visibleDates.max_date, null, true);
11108
11128
  }
@@ -11243,14 +11263,14 @@ function header_cell(scheduler2) {
11243
11263
  scheduler2.$keyboardNavigation.HeaderCell.prototype.bindAll(scheduler2.$keyboardNavigation.HeaderCell.prototype.keys);
11244
11264
  }
11245
11265
  function event(scheduler2) {
11246
- scheduler2.$keyboardNavigation.Event = function(id2) {
11266
+ scheduler2.$keyboardNavigation.Event = function(id) {
11247
11267
  this.eventId = null;
11248
- if (scheduler2.getEvent(id2)) {
11249
- var ev = scheduler2.getEvent(id2);
11268
+ if (scheduler2.getEvent(id)) {
11269
+ var ev = scheduler2.getEvent(id);
11250
11270
  this.start = new Date(ev.start_date);
11251
11271
  this.end = new Date(ev.end_date);
11252
11272
  this.section = this._getSection(ev);
11253
- this.eventId = id2;
11273
+ this.eventId = id;
11254
11274
  }
11255
11275
  };
11256
11276
  scheduler2.$keyboardNavigation.Event.prototype = scheduler2._compose(scheduler2.$keyboardNavigation.KeyNavNode, { _getNodes: function() {
@@ -11263,12 +11283,12 @@ function event(scheduler2) {
11263
11283
  if (!eventNode || !scheduler2._locate_event(eventNode)) {
11264
11284
  defaultElement = new scheduler2.$keyboardNavigation.TimeSlot();
11265
11285
  } else {
11266
- var id2 = scheduler2._locate_event(eventNode);
11267
- defaultElement = new scheduler2.$keyboardNavigation.Event(id2);
11286
+ var id = scheduler2._locate_event(eventNode);
11287
+ defaultElement = new scheduler2.$keyboardNavigation.Event(id);
11268
11288
  }
11269
11289
  return defaultElement;
11270
- }, isScrolledIntoView: function(el2) {
11271
- var eventBox = el2.getBoundingClientRect();
11290
+ }, isScrolledIntoView: function(el) {
11291
+ var eventBox = el.getBoundingClientRect();
11272
11292
  var viewPort = scheduler2.$container.querySelector(".dhx_cal_data").getBoundingClientRect();
11273
11293
  if (eventBox.bottom < viewPort.top || eventBox.top > viewPort.bottom) {
11274
11294
  return false;
@@ -12281,32 +12301,32 @@ function core(scheduler2) {
12281
12301
  }, focusGlobalNode: function() {
12282
12302
  this.blurNode(this.globalNode);
12283
12303
  this.focusNode(this.globalNode);
12284
- }, setActiveNode: function(el2) {
12285
- if (!el2 || !el2.isValid())
12304
+ }, setActiveNode: function(el) {
12305
+ if (!el || !el.isValid())
12286
12306
  return;
12287
12307
  if (this.activeNode) {
12288
- if (this.activeNode.compareTo(el2)) {
12308
+ if (this.activeNode.compareTo(el)) {
12289
12309
  return;
12290
12310
  }
12291
12311
  }
12292
12312
  if (this.isEnabled()) {
12293
12313
  this.blurNode(this.activeNode);
12294
- this.activeNode = el2;
12314
+ this.activeNode = el;
12295
12315
  this.focusNode(this.activeNode);
12296
12316
  }
12297
- }, focusNode: function(el2) {
12298
- if (el2 && el2.focus) {
12299
- el2.focus();
12300
- if (el2.getNode && document.activeElement != el2.getNode()) {
12317
+ }, focusNode: function(el) {
12318
+ if (el && el.focus) {
12319
+ el.focus();
12320
+ if (el.getNode && document.activeElement != el.getNode()) {
12301
12321
  this.setActiveNode(new scheduler2.$keyboardNavigation.DataArea());
12302
12322
  }
12303
12323
  }
12304
- }, blurNode: function(el2) {
12305
- if (el2 && el2.blur) {
12306
- el2.blur();
12324
+ }, blurNode: function(el) {
12325
+ if (el && el.blur) {
12326
+ el.blur();
12307
12327
  }
12308
- }, getInlineEditor: function(id2) {
12309
- var editor = scheduler2.$container.querySelector(".dhx_cal_editor[" + scheduler2.config.event_attribute + "='" + id2 + "'] textarea");
12328
+ }, getInlineEditor: function(id) {
12329
+ var editor = scheduler2.$container.querySelector(".dhx_cal_editor[" + scheduler2.config.event_attribute + "='" + id + "'] textarea");
12310
12330
  if (editor && editor.offsetWidth) {
12311
12331
  return editor;
12312
12332
  }
@@ -12367,7 +12387,7 @@ function key_nav_legacy(scheduler2) {
12367
12387
  keyNavPointer = scheduler2.$keyboardNavigation.dispatcher.isEnabled();
12368
12388
  return mousePointer || keyNavPointer;
12369
12389
  }
12370
- scheduler2.attachEvent("onMouseMove", function(id2, e) {
12390
+ scheduler2.attachEvent("onMouseMove", function(id, e) {
12371
12391
  var state = scheduler2.getState();
12372
12392
  if (!(state.mode && state.min_date)) {
12373
12393
  return;
@@ -12591,11 +12611,11 @@ function scheduler_handlers(scheduler2) {
12591
12611
  }
12592
12612
  }
12593
12613
  var updateEvent = scheduler2.updateEvent;
12594
- scheduler2.updateEvent = function(id2) {
12614
+ scheduler2.updateEvent = function(id) {
12595
12615
  var res = updateEvent.apply(this, arguments);
12596
12616
  if (scheduler2.config.key_nav && dispatcher.isEnabled()) {
12597
- if (scheduler2.getState().select_id == id2) {
12598
- var element = new scheduler2.$keyboardNavigation.Event(id2);
12617
+ if (scheduler2.getState().select_id == id) {
12618
+ var element = new scheduler2.$keyboardNavigation.Event(id);
12599
12619
  if (!scheduler2.getState().lightbox_id) {
12600
12620
  focusEvent(element);
12601
12621
  }
@@ -12603,12 +12623,12 @@ function scheduler_handlers(scheduler2) {
12603
12623
  }
12604
12624
  return res;
12605
12625
  };
12606
- scheduler2.attachEvent("onEventDeleted", function(id2) {
12626
+ scheduler2.attachEvent("onEventDeleted", function(id) {
12607
12627
  if (!scheduler2.config.key_nav)
12608
12628
  return true;
12609
12629
  if (dispatcher.isEnabled()) {
12610
12630
  var activeNode = dispatcher.getActiveNode();
12611
- if (activeNode.eventId == id2) {
12631
+ if (activeNode.eventId == id) {
12612
12632
  dispatcher.setActiveNode(new scheduler2.$keyboardNavigation.TimeSlot());
12613
12633
  }
12614
12634
  }
@@ -12656,7 +12676,7 @@ function minical_handlers(scheduler2) {
12656
12676
  var rowIndex = 0;
12657
12677
  var cellIndex = 0;
12658
12678
  if (cell) {
12659
- var tr2;
12679
+ var tr;
12660
12680
  var td;
12661
12681
  var current = target;
12662
12682
  while (current && current.tagName.toLowerCase() != "td") {
@@ -12664,17 +12684,17 @@ function minical_handlers(scheduler2) {
12664
12684
  }
12665
12685
  if (current) {
12666
12686
  td = current;
12667
- tr2 = td.parentNode;
12687
+ tr = td.parentNode;
12668
12688
  }
12669
- if (tr2 && td) {
12670
- var rows = tr2.parentNode.querySelectorAll("tr");
12689
+ if (tr && td) {
12690
+ var rows = tr.parentNode.querySelectorAll("tr");
12671
12691
  for (var i = 0; i < rows.length; i++) {
12672
- if (rows[i] == tr2) {
12692
+ if (rows[i] == tr) {
12673
12693
  rowIndex = i;
12674
12694
  break;
12675
12695
  }
12676
12696
  }
12677
- var cells = tr2.querySelectorAll("td");
12697
+ var cells = tr.querySelectorAll("td");
12678
12698
  for (var i = 0; i < cells.length; i++) {
12679
12699
  if (cells[i] == td) {
12680
12700
  cellIndex = i;
@@ -12895,34 +12915,34 @@ function layer(scheduler2) {
12895
12915
  });
12896
12916
  scheduler2._dp_init = function(dp) {
12897
12917
  dp._methods = ["_set_event_text_style", "", "changeEventId", "deleteEvent"];
12898
- this.attachEvent("onEventAdded", function(id2) {
12899
- if (!this._loading && this.validId(id2) && this.getEvent(id2) && this.getEvent(id2).layer == dp.layer)
12900
- dp.setUpdated(id2, true, "inserted");
12918
+ this.attachEvent("onEventAdded", function(id) {
12919
+ if (!this._loading && this.validId(id) && this.getEvent(id) && this.getEvent(id).layer == dp.layer)
12920
+ dp.setUpdated(id, true, "inserted");
12901
12921
  });
12902
- this.attachEvent("onBeforeEventDelete", function(id2) {
12903
- if (this.getEvent(id2) && this.getEvent(id2).layer == dp.layer) {
12904
- if (!this.validId(id2))
12922
+ this.attachEvent("onBeforeEventDelete", function(id) {
12923
+ if (this.getEvent(id) && this.getEvent(id).layer == dp.layer) {
12924
+ if (!this.validId(id))
12905
12925
  return;
12906
- var z = dp.getState(id2);
12926
+ var z = dp.getState(id);
12907
12927
  if (z == "inserted" || this._new_event) {
12908
- dp.setUpdated(id2, false);
12928
+ dp.setUpdated(id, false);
12909
12929
  return true;
12910
12930
  }
12911
12931
  if (z == "deleted")
12912
12932
  return false;
12913
12933
  if (z == "true_deleted")
12914
12934
  return true;
12915
- dp.setUpdated(id2, true, "deleted");
12935
+ dp.setUpdated(id, true, "deleted");
12916
12936
  return false;
12917
12937
  } else
12918
12938
  return true;
12919
12939
  });
12920
- this.attachEvent("onEventChanged", function(id2) {
12921
- if (!this._loading && this.validId(id2) && this.getEvent(id2) && this.getEvent(id2).layer == dp.layer)
12922
- dp.setUpdated(id2, true, "updated");
12940
+ this.attachEvent("onEventChanged", function(id) {
12941
+ if (!this._loading && this.validId(id) && this.getEvent(id) && this.getEvent(id).layer == dp.layer)
12942
+ dp.setUpdated(id, true, "updated");
12923
12943
  });
12924
- dp._getRowData = function(id2, pref) {
12925
- var ev = this.obj.getEvent(id2);
12944
+ dp._getRowData = function(id, pref) {
12945
+ var ev = this.obj.getEvent(id);
12926
12946
  var data = {};
12927
12947
  for (var a in ev) {
12928
12948
  if (a.indexOf("_") === 0)
@@ -12938,9 +12958,9 @@ function layer(scheduler2) {
12938
12958
  };
12939
12959
  dp.attachEvent("insertCallback", scheduler2._update_callback);
12940
12960
  dp.attachEvent("updateCallback", scheduler2._update_callback);
12941
- dp.attachEvent("deleteCallback", function(upd, id2) {
12942
- this.obj.setUserData(id2, this.action_param, "true_deleted");
12943
- this.obj.deleteEvent(id2);
12961
+ dp.attachEvent("deleteCallback", function(upd, id) {
12962
+ this.obj.setUserData(id, this.action_param, "true_deleted");
12963
+ this.obj.deleteEvent(id);
12944
12964
  });
12945
12965
  };
12946
12966
  (function() {
@@ -13015,14 +13035,14 @@ function layer(scheduler2) {
13015
13035
  }
13016
13036
  return count >= scheduler2.config.collision_limit;
13017
13037
  });
13018
- scheduler2.addEvent = function(start_date, end_date, text, id2, extra_data) {
13038
+ scheduler2.addEvent = function(start_date, end_date, text, id, extra_data) {
13019
13039
  var ev = start_date;
13020
13040
  if (arguments.length != 1) {
13021
13041
  ev = extra_data || {};
13022
13042
  ev.start_date = start_date;
13023
13043
  ev.end_date = end_date;
13024
13044
  ev.text = text;
13025
- ev.id = id2;
13045
+ ev.id = id;
13026
13046
  ev.layer = this.defaultLayer;
13027
13047
  }
13028
13048
  ev.id = ev.id || scheduler2.uid();
@@ -13123,21 +13143,21 @@ function layer(scheduler2) {
13123
13143
  }
13124
13144
  };
13125
13145
  scheduler2._render_v_bar = function(ev, x, y, w, h, style, contentA, contentB, bottom) {
13126
- var id2 = ev.id;
13146
+ var id = ev.id;
13127
13147
  if (contentA.indexOf("<div class=") == -1)
13128
13148
  contentA = scheduler2.templates["event_header_" + ev.layer] ? scheduler2.templates["event_header_" + ev.layer](ev.start_date, ev.end_date, ev) : contentA;
13129
13149
  if (contentB.indexOf("<div class=") == -1)
13130
13150
  contentB = scheduler2.templates["event_text_" + ev.layer] ? scheduler2.templates["event_text_" + ev.layer](ev.start_date, ev.end_date, ev) : contentB;
13131
13151
  var d = document.createElement("div");
13132
- var cs2 = "dhx_cal_event";
13152
+ var cs = "dhx_cal_event";
13133
13153
  var cse = scheduler2.templates["event_class_" + ev.layer] ? scheduler2.templates["event_class_" + ev.layer](ev.start_date, ev.end_date, ev) : scheduler2.templates.event_class(ev.start_date, ev.end_date, ev);
13134
13154
  if (cse)
13135
- cs2 = cs2 + " " + cse;
13155
+ cs = cs + " " + cse;
13136
13156
  var borderBox = scheduler2._border_box_events();
13137
13157
  var borderBoxWidth = w - 2;
13138
13158
  var boxWidth = borderBox ? borderBoxWidth : w - 4, headerWidth = borderBox ? borderBoxWidth : w - 6, bodyWidth = borderBox ? borderBoxWidth : w - 14, footerWidth = borderBox ? borderBoxWidth - 2 : w - 8;
13139
13159
  var bodyHeight = borderBox ? h - this.xy.event_header_height : h - 30 + 1;
13140
- var html = '<div event_id="' + id2 + '" ' + scheduler2.config.event_attribute + '="' + id2 + '" class="' + cs2 + '" style="position:absolute; top:' + y + "px; left:" + x + "px; width:" + boxWidth + "px; height:" + h + "px;" + (style || "") + '">';
13160
+ var html = '<div event_id="' + id + '" ' + scheduler2.config.event_attribute + '="' + id + '" class="' + cs + '" style="position:absolute; top:' + y + "px; left:" + x + "px; width:" + boxWidth + "px; height:" + h + "px;" + (style || "") + '">';
13141
13161
  html += '<div class="dhx_header" style=" width:' + headerWidth + 'px;" >&nbsp;</div>';
13142
13162
  html += '<div class="dhx_title">' + contentA + "</div>";
13143
13163
  html += '<div class="dhx_body" style=" width:' + bodyWidth + "px; height:" + bodyHeight + 'px;">' + contentB + "</div>";
@@ -13155,11 +13175,11 @@ function layer(scheduler2) {
13155
13175
  var hb = this.xy.bar_height;
13156
13176
  var y = this._colsS.heights[ev._sweek] + (this._colsS.height ? this.xy.month_scale_height + 2 : 2) + ev._sorder * hb;
13157
13177
  var d = document.createElement("div");
13158
- var cs2 = ev._timed ? "dhx_cal_event_clear" : "dhx_cal_event_line";
13178
+ var cs = ev._timed ? "dhx_cal_event_clear" : "dhx_cal_event_line";
13159
13179
  var cse = scheduler2.templates["event_class_" + ev.layer] ? scheduler2.templates["event_class_" + ev.layer](ev.start_date, ev.end_date, ev) : scheduler2.templates.event_class(ev.start_date, ev.end_date, ev);
13160
13180
  if (cse)
13161
- cs2 = cs2 + " " + cse;
13162
- var html = '<div event_id="' + ev.id + '" ' + this.config.event_attribute + '="' + ev.id + '" class="' + cs2 + '" style="position:absolute; top:' + y + "px; left:" + x + "px; width:" + (x2 - x - 15) + "px;" + (ev._text_style || "") + '">';
13181
+ cs = cs + " " + cse;
13182
+ var html = '<div event_id="' + ev.id + '" ' + this.config.event_attribute + '="' + ev.id + '" class="' + cs + '" style="position:absolute; top:' + y + "px; left:" + x + "px; width:" + (x2 - x - 15) + "px;" + (ev._text_style || "") + '">';
13163
13183
  if (ev._timed)
13164
13184
  html += scheduler2.templates["event_bar_date_" + ev.layer] ? scheduler2.templates["event_bar_date_" + ev.layer](ev.start_date, ev.end_date, ev) : scheduler2.templates.event_bar_date(ev.start_date, ev.end_date, ev);
13165
13185
  html += scheduler2.templates["event_bar_text_" + ev.layer] ? scheduler2.templates["event_bar_text_" + ev.layer](ev.start_date, ev.end_date, ev) : scheduler2.templates.event_bar_text(ev.start_date, ev.end_date, ev) + "</div>)";
@@ -13240,7 +13260,7 @@ function layer(scheduler2) {
13240
13260
  this._rendered.push(obj);
13241
13261
  }
13242
13262
  };
13243
- scheduler2.filter_agenda = function(id2, event2) {
13263
+ scheduler2.filter_agenda = function(id, event2) {
13244
13264
  var layer2 = scheduler2.getLayer(event2.layer);
13245
13265
  return layer2 && layer2.visible;
13246
13266
  };
@@ -13278,22 +13298,22 @@ function limit(scheduler2) {
13278
13298
  scheduler2.attachEvent("onMouseDown", function(classname) {
13279
13299
  return !(classname == dhx_time_block);
13280
13300
  });
13281
- scheduler2.attachEvent("onBeforeDrag", function(id2) {
13282
- if (!id2)
13301
+ scheduler2.attachEvent("onBeforeDrag", function(id) {
13302
+ if (!id)
13283
13303
  return true;
13284
- return scheduler2.checkLimitViolation(scheduler2.getEvent(id2));
13304
+ return scheduler2.checkLimitViolation(scheduler2.getEvent(id));
13285
13305
  });
13286
13306
  scheduler2.attachEvent("onClick", function(event_id, native_event_object) {
13287
13307
  return scheduler2.checkLimitViolation(scheduler2.getEvent(event_id));
13288
13308
  });
13289
- scheduler2.attachEvent("onBeforeLightbox", function(id2) {
13290
- var ev = scheduler2.getEvent(id2);
13309
+ scheduler2.attachEvent("onBeforeLightbox", function(id) {
13310
+ var ev = scheduler2.getEvent(id);
13291
13311
  before = [ev.start_date, ev.end_date];
13292
13312
  return scheduler2.checkLimitViolation(ev);
13293
13313
  });
13294
- scheduler2.attachEvent("onEventSave", function(id2, data, is_new_event) {
13314
+ scheduler2.attachEvent("onEventSave", function(id, data, is_new_event) {
13295
13315
  if (!(data.start_date && data.end_date)) {
13296
- var ev = scheduler2.getEvent(id2);
13316
+ var ev = scheduler2.getEvent(id);
13297
13317
  data.start_date = new Date(ev.start_date);
13298
13318
  data.end_date = new Date(ev.end_date);
13299
13319
  }
@@ -13304,10 +13324,10 @@ function limit(scheduler2) {
13304
13324
  }
13305
13325
  return scheduler2.checkLimitViolation(data);
13306
13326
  });
13307
- scheduler2.attachEvent("onEventAdded", function(id2) {
13308
- if (!id2)
13327
+ scheduler2.attachEvent("onEventAdded", function(id) {
13328
+ if (!id)
13309
13329
  return true;
13310
- var ev = scheduler2.getEvent(id2);
13330
+ var ev = scheduler2.getEvent(id);
13311
13331
  if (!scheduler2.checkLimitViolation(ev) && scheduler2.config.limit_start && scheduler2.config.limit_end) {
13312
13332
  if (ev.start_date < scheduler2.config.limit_start) {
13313
13333
  ev.start_date = new Date(scheduler2.config.limit_start);
@@ -13328,10 +13348,10 @@ function limit(scheduler2) {
13328
13348
  }
13329
13349
  return true;
13330
13350
  });
13331
- scheduler2.attachEvent("onEventChanged", function(id2) {
13332
- if (!id2)
13351
+ scheduler2.attachEvent("onEventChanged", function(id) {
13352
+ if (!id)
13333
13353
  return true;
13334
- var ev = scheduler2.getEvent(id2);
13354
+ var ev = scheduler2.getEvent(id);
13335
13355
  if (!scheduler2.checkLimitViolation(ev)) {
13336
13356
  if (!before)
13337
13357
  return false;
@@ -13813,13 +13833,13 @@ function map_view(scheduler2) {
13813
13833
  }
13814
13834
  };
13815
13835
  function attachSchedulerEvents() {
13816
- eventHandlerIds.push(scheduler2.attachEvent("onEventSave", function(id2, ev, is_new) {
13817
- let unmodifiedEvent = scheduler2.getEvent(id2);
13836
+ eventHandlerIds.push(scheduler2.attachEvent("onEventSave", function(id, ev, is_new) {
13837
+ let unmodifiedEvent = scheduler2.getEvent(id);
13818
13838
  if (unmodifiedEvent && unmodifiedEvent.event_location != ev.event_location) {
13819
13839
  scheduler2._eventLocationChanged = true;
13820
13840
  }
13821
13841
  return true;
13822
- }), scheduler2.attachEvent("onEventChanged", (id2, event2) => {
13842
+ }), scheduler2.attachEvent("onEventChanged", (id, event2) => {
13823
13843
  const { start_date, end_date } = event2;
13824
13844
  const { min_date, max_date } = scheduler2.getState();
13825
13845
  if (start_date.valueOf() < max_date.valueOf() && end_date.valueOf() > min_date.valueOf()) {
@@ -13837,7 +13857,7 @@ function map_view(scheduler2) {
13837
13857
  let newIdEvent = scheduler2.getEvent(new_id);
13838
13858
  mapAdapter == null ? void 0 : mapAdapter.removeEventMarker(old_id);
13839
13859
  mapAdapter == null ? void 0 : mapAdapter.addEventMarker(newIdEvent);
13840
- }), scheduler2.attachEvent("onEventAdded", (id2, event2) => {
13860
+ }), scheduler2.attachEvent("onEventAdded", (id, event2) => {
13841
13861
  const { start_date, end_date } = event2;
13842
13862
  const { min_date, max_date } = scheduler2.getState();
13843
13863
  if (start_date.valueOf() < max_date.valueOf() && end_date.valueOf() > min_date.valueOf()) {
@@ -13851,20 +13871,20 @@ function map_view(scheduler2) {
13851
13871
  }
13852
13872
  }
13853
13873
  }
13854
- }), scheduler2.attachEvent("onClick", function(id2, e) {
13855
- const event2 = scheduler2.getEvent(id2);
13874
+ }), scheduler2.attachEvent("onClick", function(id, e) {
13875
+ const event2 = scheduler2.getEvent(id);
13856
13876
  if (mapAdapter && event2)
13857
13877
  mapAdapter.onEventClick(event2);
13858
13878
  return false;
13859
- }), scheduler2.attachEvent("onBeforeEventDelete", (id2, event2) => {
13879
+ }), scheduler2.attachEvent("onBeforeEventDelete", (id, event2) => {
13860
13880
  if (mapAdapter) {
13861
- mapAdapter.removeEventMarker(id2);
13881
+ mapAdapter.removeEventMarker(id);
13862
13882
  }
13863
13883
  return true;
13864
13884
  }));
13865
13885
  }
13866
13886
  function detachSchedulerEvents() {
13867
- eventHandlerIds.forEach((id2) => scheduler2.detachEvent(id2));
13887
+ eventHandlerIds.forEach((id) => scheduler2.detachEvent(id));
13868
13888
  eventHandlerIds = [];
13869
13889
  }
13870
13890
  scheduler2.attachEvent("onSchedulerReady", function() {
@@ -14008,7 +14028,7 @@ function map_view(scheduler2) {
14008
14028
  scheduler2.set_sizes();
14009
14029
  }
14010
14030
  }
14011
- scheduler2.attachEvent("onLocationError", function(id2) {
14031
+ scheduler2.attachEvent("onLocationError", function(id) {
14012
14032
  alert("Location can't be found");
14013
14033
  return google.maps.LatLng(51.47784, -1492e-6);
14014
14034
  });
@@ -14205,10 +14225,10 @@ function minical(scheduler2) {
14205
14225
  css = css || "dhx_calendar_click";
14206
14226
  if (!date)
14207
14227
  return;
14208
- var el2 = this._locateCalendar(cal, date);
14209
- if (!el2)
14228
+ var el = this._locateCalendar(cal, date);
14229
+ if (!el)
14210
14230
  return;
14211
- el2.className = (el2.className || "").replace(RegExp(css, "g"));
14231
+ el.className = (el.className || "").replace(RegExp(css, "g"));
14212
14232
  };
14213
14233
  scheduler2._week_template = function(width) {
14214
14234
  var summ = width || 250;
@@ -14751,36 +14771,36 @@ function mvc(scheduler2) {
14751
14771
  if (obj instanceof Backbone.Collection)
14752
14772
  _finish_ext_load(scheduler2);
14753
14773
  });
14754
- scheduler2.attachEvent("onEventCreated", function(id2) {
14755
- var ev = new events.model(scheduler2.getEvent(id2));
14756
- scheduler2._events[id2] = ev.toJSON();
14757
- scheduler2._events[id2].id = id2;
14774
+ scheduler2.attachEvent("onEventCreated", function(id) {
14775
+ var ev = new events.model(scheduler2.getEvent(id));
14776
+ scheduler2._events[id] = ev.toJSON();
14777
+ scheduler2._events[id].id = id;
14758
14778
  return true;
14759
14779
  });
14760
- scheduler2.attachEvent("onEventAdded", function(id2) {
14761
- if (!events.get(id2)) {
14762
- var data = sanitize(scheduler2.getEvent(id2));
14780
+ scheduler2.attachEvent("onEventAdded", function(id) {
14781
+ if (!events.get(id)) {
14782
+ var data = sanitize(scheduler2.getEvent(id));
14763
14783
  var model = new events.model(data);
14764
14784
  var cid = _get_id(model);
14765
- if (cid != id2)
14766
- this.changeEventId(id2, cid);
14785
+ if (cid != id)
14786
+ this.changeEventId(id, cid);
14767
14787
  events.add(model);
14768
14788
  events.trigger("scheduler:add", model);
14769
14789
  }
14770
14790
  return true;
14771
14791
  });
14772
- scheduler2.attachEvent("onEventChanged", function(id2) {
14773
- var ev = events.get(id2);
14774
- var upd = sanitize(scheduler2.getEvent(id2));
14792
+ scheduler2.attachEvent("onEventChanged", function(id) {
14793
+ var ev = events.get(id);
14794
+ var upd = sanitize(scheduler2.getEvent(id));
14775
14795
  ev.set(upd);
14776
14796
  events.trigger("scheduler:change", ev);
14777
14797
  return true;
14778
14798
  });
14779
- scheduler2.attachEvent("onEventDeleted", function(id2) {
14780
- var model = events.get(id2);
14799
+ scheduler2.attachEvent("onEventDeleted", function(id) {
14800
+ var model = events.get(id);
14781
14801
  if (model) {
14782
14802
  events.trigger("scheduler:remove", model);
14783
- events.remove(id2);
14803
+ events.remove(id);
14784
14804
  }
14785
14805
  return true;
14786
14806
  });
@@ -14798,10 +14818,10 @@ function outerdrag(scheduler2) {
14798
14818
  function on_drop(sourceHtmlObject, dhtmlObject, targetHtmlObject, targetHtml) {
14799
14819
  if (scheduler2.checkEvent("onBeforeExternalDragIn") && !scheduler2.callEvent("onBeforeExternalDragIn", [sourceHtmlObject, dhtmlObject, targetHtmlObject, targetHtml, last_event]))
14800
14820
  return;
14801
- var temp = scheduler2.attachEvent("onEventCreated", function(id2) {
14802
- if (!scheduler2.callEvent("onExternalDragIn", [id2, sourceHtmlObject, last_event])) {
14821
+ var temp = scheduler2.attachEvent("onEventCreated", function(id) {
14822
+ if (!scheduler2.callEvent("onExternalDragIn", [id, sourceHtmlObject, last_event])) {
14803
14823
  this._drag_mode = this._drag_id = null;
14804
- this.deleteEvent(id2);
14824
+ this.deleteEvent(id);
14805
14825
  }
14806
14826
  });
14807
14827
  var action_data = scheduler2.getActionData(last_event);
@@ -14865,8 +14885,8 @@ function pdf(scheduler2) {
14865
14885
  var header = scheduler2._els.dhx_cal_header[0].childNodes;
14866
14886
  var els = header[1] ? header[1].childNodes : header[0].childNodes;
14867
14887
  for (var i = 0; i < els.length; i++) {
14868
- var el2 = els[i].style ? els[i] : els[i].parentNode;
14869
- var w = parseFloat(el2.style.width);
14888
+ var el = els[i].style ? els[i] : els[i].parentNode;
14889
+ var w = parseFloat(el.style.width);
14870
14890
  if (width > w) {
14871
14891
  width -= w + 1;
14872
14892
  r += w + 1;
@@ -14946,8 +14966,8 @@ function pdf(scheduler2) {
14946
14966
  if (scheduler2.matrix && scheduler2.matrix[scheduler2._mode]) {
14947
14967
  xml += "<y>";
14948
14968
  for (var i = 0; i < yh.firstChild.rows.length; i++) {
14949
- var el2 = yh.firstChild.rows[i];
14950
- xml += "<row><![CDATA[" + clean_html(el2.cells[0].innerHTML) + "]]></row>";
14969
+ var el = yh.firstChild.rows[i];
14970
+ xml += "<row><![CDATA[" + clean_html(el.cells[0].innerHTML) + "]]></row>";
14951
14971
  }
14952
14972
  xml += "</y>";
14953
14973
  dy = yh.firstChild.rows[0].cells[0].offsetHeight;
@@ -15072,8 +15092,8 @@ function pdf(scheduler2) {
15072
15092
  week = de_week(evs[i], week);
15073
15093
  } else if (scheduler2.matrix && scheduler2.matrix[scheduler2._mode]) {
15074
15094
  day = 0;
15075
- var el2 = evs[i].parentNode.parentNode.parentNode;
15076
- week = el2.rowIndex;
15095
+ var el = evs[i].parentNode.parentNode.parentNode;
15096
+ week = el.rowIndex;
15077
15097
  var dy_copy = dy;
15078
15098
  dy = evs[i].parentNode.offsetHeight;
15079
15099
  zy = y_norm(evs[i].style.top);
@@ -15189,11 +15209,11 @@ function quick_info(scheduler2) {
15189
15209
  });
15190
15210
  }
15191
15211
  });
15192
- scheduler2.attachEvent("onClick", function(id2) {
15212
+ scheduler2.attachEvent("onClick", function(id) {
15193
15213
  if (!scheduler2.config.show_quick_info) {
15194
15214
  return;
15195
15215
  }
15196
- scheduler2.showQuickInfo(id2);
15216
+ scheduler2.showQuickInfo(id);
15197
15217
  return true;
15198
15218
  });
15199
15219
  (function() {
@@ -15223,24 +15243,24 @@ function quick_info(scheduler2) {
15223
15243
  return scheduler2.templates.week_date(start, end, ev);
15224
15244
  }
15225
15245
  };
15226
- scheduler2.showQuickInfo = function(id2) {
15227
- if (id2 == this._quick_info_box_id)
15246
+ scheduler2.showQuickInfo = function(id) {
15247
+ if (id == this._quick_info_box_id)
15228
15248
  return;
15229
15249
  this.hideQuickInfo(true);
15230
- if (this.callEvent("onBeforeQuickInfo", [id2]) === false) {
15250
+ if (this.callEvent("onBeforeQuickInfo", [id]) === false) {
15231
15251
  return;
15232
15252
  }
15233
15253
  let pos;
15234
- if (clickedElementPosition && clickedElementPosition.id == id2) {
15254
+ if (clickedElementPosition && clickedElementPosition.id == id) {
15235
15255
  pos = clickedElementPosition.position;
15236
15256
  } else {
15237
- pos = this._get_event_counter_part(id2);
15257
+ pos = this._get_event_counter_part(id);
15238
15258
  }
15239
15259
  if (pos) {
15240
15260
  this._quick_info_box = this._init_quick_info(pos);
15241
- this._fill_quick_data(id2);
15261
+ this._fill_quick_data(id);
15242
15262
  this._show_quick_info(pos);
15243
- this.callEvent("onQuickInfo", [id2]);
15263
+ this.callEvent("onQuickInfo", [id]);
15244
15264
  }
15245
15265
  };
15246
15266
  (function() {
@@ -15418,8 +15438,8 @@ function quick_info(scheduler2) {
15418
15438
  }
15419
15439
  var mask = scheduler2._getClassName(node);
15420
15440
  if (mask.indexOf("_icon") != -1) {
15421
- var id2 = scheduler2._quick_info_box_id;
15422
- scheduler2._click.buttons[mask.split(" ")[1].replace("icon_", "")](id2);
15441
+ var id = scheduler2._quick_info_box_id;
15442
+ scheduler2._click.buttons[mask.split(" ")[1].replace("icon_", "")](id);
15423
15443
  } else
15424
15444
  scheduler2._qi_button_click(node.parentNode);
15425
15445
  };
@@ -15439,14 +15459,14 @@ function quick_info(scheduler2) {
15439
15459
  }
15440
15460
  return 0;
15441
15461
  }
15442
- scheduler2._get_event_counter_part = function(id2) {
15443
- var domEv = scheduler2.getRenderedEvent(id2);
15462
+ scheduler2._get_event_counter_part = function(id) {
15463
+ var domEv = scheduler2.getRenderedEvent(id);
15444
15464
  return getPositionInsideScheduler(domEv);
15445
15465
  };
15446
- scheduler2._fill_quick_data = function(id2) {
15447
- var ev = scheduler2.getEvent(id2);
15466
+ scheduler2._fill_quick_data = function(id) {
15467
+ var ev = scheduler2.getEvent(id);
15448
15468
  var qi = scheduler2._quick_info_box;
15449
- scheduler2._quick_info_box_id = id2;
15469
+ scheduler2._quick_info_box_id = id;
15450
15470
  var header = { content: scheduler2.templates.quick_info_title(ev.start_date, ev.end_date, ev), date: scheduler2.templates.quick_info_date(ev.start_date, ev.end_date, ev) };
15451
15471
  var titleContent = qi.querySelector(".dhx_cal_qi_tcontent");
15452
15472
  titleContent.innerHTML = `<span>${header.content}</span>`;
@@ -15471,8 +15491,8 @@ function readonly(scheduler2) {
15471
15491
  }
15472
15492
  var original_left_buttons = scheduler2.config.buttons_left.slice();
15473
15493
  var original_right_buttons = scheduler2.config.buttons_right.slice();
15474
- scheduler2.attachEvent("onBeforeLightbox", function(id2) {
15475
- if (this.config.readonly_form || this.getEvent(id2).readonly) {
15494
+ scheduler2.attachEvent("onBeforeLightbox", function(id) {
15495
+ if (this.config.readonly_form || this.getEvent(id).readonly) {
15476
15496
  this.config.readonly_active = true;
15477
15497
  } else {
15478
15498
  this.config.readonly_active = false;
@@ -15860,14 +15880,14 @@ var __assign = function() {
15860
15880
  };
15861
15881
  function __spreadArray(to, from, pack) {
15862
15882
  if (pack || arguments.length === 2)
15863
- for (var i = 0, l = from.length, ar2; i < l; i++) {
15864
- if (ar2 || !(i in from)) {
15865
- if (!ar2)
15866
- ar2 = Array.prototype.slice.call(from, 0, i);
15867
- ar2[i] = from[i];
15883
+ for (var i = 0, l = from.length, ar; i < l; i++) {
15884
+ if (ar || !(i in from)) {
15885
+ if (!ar)
15886
+ ar = Array.prototype.slice.call(from, 0, i);
15887
+ ar[i] = from[i];
15868
15888
  }
15869
15889
  }
15870
- return to.concat(ar2 || Array.prototype.slice.call(from));
15890
+ return to.concat(ar || Array.prototype.slice.call(from));
15871
15891
  }
15872
15892
  typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message2) {
15873
15893
  var e = new Error(message2);
@@ -15893,8 +15913,8 @@ var ENGLISH = { dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday
15893
15913
  var contains = function(arr, val) {
15894
15914
  return arr.indexOf(val) !== -1;
15895
15915
  };
15896
- var defaultGetText = function(id2) {
15897
- return id2.toString();
15916
+ var defaultGetText = function(id) {
15917
+ return id.toString();
15898
15918
  };
15899
15919
  var defaultDateFormatter = function(year, month, day) {
15900
15920
  return "".concat(month, " ").concat(day, ", ").concat(year);
@@ -18155,13 +18175,13 @@ function recurring(scheduler2) {
18155
18175
  event2.deleted = null;
18156
18176
  }
18157
18177
  function createException(ev) {
18158
- let id2 = ev.id.split("#");
18178
+ let id = ev.id.split("#");
18159
18179
  let nid = scheduler2.uid();
18160
18180
  scheduler2._not_render = true;
18161
18181
  let nev = scheduler2._copy_event(ev);
18162
18182
  nev.id = nid;
18163
- nev.recurring_event_id = id2[0];
18164
- let timestamp = id2[1];
18183
+ nev.recurring_event_id = id[0];
18184
+ let timestamp = id[1];
18165
18185
  nev.original_start = new Date(Number(timestamp));
18166
18186
  scheduler2._add_rec_marker(nev, timestamp);
18167
18187
  scheduler2.addEvent(nev);
@@ -18173,18 +18193,18 @@ function recurring(scheduler2) {
18173
18193
  function setUTCPartsToDate(d) {
18174
18194
  return new Date(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate(), d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds());
18175
18195
  }
18176
- function updateFollowingEventsRRULE(ev) {
18196
+ function updateFollowingRRULEOnSave(ev) {
18177
18197
  if (ev.rrule.includes(";UNTIL=")) {
18178
18198
  ev.rrule = ev.rrule.split(";UNTIL=")[0];
18179
18199
  }
18180
- let parsedRRule = rrulestr(`RRULE:${ev.rrule};UNTIL=${toIcalString(ev._end_date || ev.end_date)}`, { dtstart: ev.start_date });
18200
+ let parsedRRule = rrulestr(`RRULE:${ev.rrule};UNTIL=${toIcalString(setUTCPartsToDate(ev._end_date || ev.end_date))}`, { dtstart: ev.start_date });
18181
18201
  let newRRULE = new RRule(parsedRRule.origOptions).toString().replace("RRULE:", "");
18182
18202
  newRRULE = newRRULE.split("\n")[1];
18183
18203
  ev.rrule = newRRULE;
18184
18204
  }
18185
- function updateFollowingWithWEEKLY(id2, ev) {
18205
+ function updateFollowingRRULE(id, ev) {
18186
18206
  if (!ev) {
18187
- ev = scheduler2.getEvent(id2);
18207
+ ev = scheduler2.getEvent(id);
18188
18208
  }
18189
18209
  let rruleStringparts = ev.rrule.split(";");
18190
18210
  let updatedRRULE = [];
@@ -18197,6 +18217,13 @@ function recurring(scheduler2) {
18197
18217
  continue;
18198
18218
  }
18199
18219
  }
18220
+ if (code === "UNTIL") {
18221
+ const rule = rrulestr(ev.rrule);
18222
+ const untilDate = rule.options.until;
18223
+ if (untilDate.valueOf() < ev.start_date.valueOf()) {
18224
+ ev._end_date = ev.end_date;
18225
+ }
18226
+ }
18200
18227
  updatedRRULE.push(code);
18201
18228
  updatedRRULE.push("=");
18202
18229
  updatedRRULE.push(name);
@@ -18205,8 +18232,8 @@ function recurring(scheduler2) {
18205
18232
  updatedRRULE.pop();
18206
18233
  ev.rrule = updatedRRULE.join("");
18207
18234
  }
18208
- scheduler2._isFollowing = function(id2) {
18209
- let ev = scheduler2.getEvent(id2);
18235
+ scheduler2._isFollowing = function(id) {
18236
+ let ev = scheduler2.getEvent(id);
18210
18237
  return !!(ev && ev._thisAndFollowing);
18211
18238
  };
18212
18239
  scheduler2._isFirstOccurrence = function(ev) {
@@ -18233,18 +18260,18 @@ function recurring(scheduler2) {
18233
18260
  this._rec_markers_pull[ev.event_pid] = {};
18234
18261
  this._rec_markers_pull[ev.event_pid][time] = ev;
18235
18262
  };
18236
- scheduler2._get_rec_marker = function(time, id2) {
18237
- let ch = this._rec_markers_pull[id2];
18263
+ scheduler2._get_rec_marker = function(time, id) {
18264
+ let ch = this._rec_markers_pull[id];
18238
18265
  if (ch)
18239
18266
  return ch[time];
18240
18267
  return null;
18241
18268
  };
18242
- scheduler2._get_rec_markers = function(id2) {
18243
- return this._rec_markers_pull[id2] || [];
18269
+ scheduler2._get_rec_markers = function(id) {
18270
+ return this._rec_markers_pull[id] || [];
18244
18271
  };
18245
18272
  (function() {
18246
18273
  var old_add_event = scheduler2.addEvent;
18247
- scheduler2.addEvent = function(start_date, end_date, text, id2, extra_data) {
18274
+ scheduler2.addEvent = function(start_date, end_date, text, id, extra_data) {
18248
18275
  var ev_id = old_add_event.apply(this, arguments);
18249
18276
  if (ev_id && scheduler2.getEvent(ev_id)) {
18250
18277
  var ev = scheduler2.getEvent(ev_id);
@@ -18264,35 +18291,35 @@ function recurring(scheduler2) {
18264
18291
  }
18265
18292
  return true;
18266
18293
  });
18267
- scheduler2.attachEvent("onEventIdChange", function(id2, new_id) {
18294
+ scheduler2.attachEvent("onEventIdChange", function(id, new_id) {
18268
18295
  if (this._ignore_call)
18269
18296
  return;
18270
18297
  this._ignore_call = true;
18271
- if (scheduler2._rec_markers[id2]) {
18272
- scheduler2._rec_markers[new_id] = scheduler2._rec_markers[id2];
18273
- delete scheduler2._rec_markers[id2];
18298
+ if (scheduler2._rec_markers[id]) {
18299
+ scheduler2._rec_markers[new_id] = scheduler2._rec_markers[id];
18300
+ delete scheduler2._rec_markers[id];
18274
18301
  }
18275
- if (scheduler2._rec_markers_pull[id2]) {
18276
- scheduler2._rec_markers_pull[new_id] = scheduler2._rec_markers_pull[id2];
18277
- delete scheduler2._rec_markers_pull[id2];
18302
+ if (scheduler2._rec_markers_pull[id]) {
18303
+ scheduler2._rec_markers_pull[new_id] = scheduler2._rec_markers_pull[id];
18304
+ delete scheduler2._rec_markers_pull[id];
18278
18305
  }
18279
18306
  for (var i = 0; i < this._rec_temp.length; i++) {
18280
18307
  var tev = this._rec_temp[i];
18281
- if (this._is_virtual_event(tev.id) && tev.id.split("#")[0] == id2) {
18308
+ if (this._is_virtual_event(tev.id) && tev.id.split("#")[0] == id) {
18282
18309
  tev.recurring_event_id = new_id;
18283
18310
  this.changeEventId(tev.id, new_id + "#" + tev.id.split("#")[1]);
18284
18311
  }
18285
18312
  }
18286
18313
  for (var i in this._rec_markers) {
18287
18314
  var tev = this._rec_markers[i];
18288
- if (tev.recurring_event_id == id2) {
18315
+ if (tev.recurring_event_id == id) {
18289
18316
  tev.recurring_event_id = new_id;
18290
18317
  tev._pid_changed = true;
18291
18318
  }
18292
18319
  }
18293
- var el2 = scheduler2._rec_markers[new_id];
18294
- if (el2 && el2._pid_changed) {
18295
- delete el2._pid_changed;
18320
+ var el = scheduler2._rec_markers[new_id];
18321
+ if (el && el._pid_changed) {
18322
+ delete el._pid_changed;
18296
18323
  setTimeout(function() {
18297
18324
  if (scheduler2.$destroyed) {
18298
18325
  return true;
@@ -18332,19 +18359,19 @@ function recurring(scheduler2) {
18332
18359
  }
18333
18360
  }
18334
18361
  }
18335
- function updateTextEvents(id2, data) {
18362
+ function updateTextEvents(id, data) {
18336
18363
  for (let i in scheduler2._events) {
18337
18364
  let tev = scheduler2._events[i];
18338
- if (tev.recurring_event_id == id2 || scheduler2._is_virtual_event(tev.id) && tev.id.split("#")[0] == id2) {
18365
+ if (tev.recurring_event_id == id || scheduler2._is_virtual_event(tev.id) && tev.id.split("#")[0] == id) {
18339
18366
  tev.text = data.text;
18340
18367
  scheduler2.updateEvent(tev.id);
18341
18368
  }
18342
18369
  }
18343
18370
  }
18344
18371
  function deleteEventFromSeries(idTimestamp, ev) {
18345
- let id2 = idTimestamp;
18372
+ let id = idTimestamp;
18346
18373
  let originalStartTimestamp = new Date(ev.original_start).valueOf();
18347
- idTimestamp = String(id2).split("#") || ev._pid_time || originalStartTimestamp;
18374
+ idTimestamp = String(id).split("#") || ev._pid_time || originalStartTimestamp;
18348
18375
  let nid = scheduler2.uid();
18349
18376
  let tid = idTimestamp[1] ? idTimestamp[1] : ev._pid_time || originalStartTimestamp;
18350
18377
  let nev = scheduler2._copy_event(ev);
@@ -18354,29 +18381,29 @@ function recurring(scheduler2) {
18354
18381
  nev.deleted = true;
18355
18382
  scheduler2.addEvent(nev);
18356
18383
  }
18357
- scheduler2.attachEvent("onConfirmedBeforeEventDelete", function(id2) {
18358
- var ev = this.getEvent(id2);
18359
- if (this._is_virtual_event(id2) || this._is_modified_occurrence(ev) && !isDeletedOccurrence(ev)) {
18360
- deleteEventFromSeries(id2, ev);
18384
+ scheduler2.attachEvent("onConfirmedBeforeEventDelete", function(id) {
18385
+ var ev = this.getEvent(id);
18386
+ if (this._is_virtual_event(id) || this._is_modified_occurrence(ev) && !isDeletedOccurrence(ev)) {
18387
+ deleteEventFromSeries(id, ev);
18361
18388
  } else {
18362
18389
  if (isSeries(ev) && this._lightbox_id)
18363
18390
  this._roll_back_dates(ev);
18364
- var sub = this._get_rec_markers(id2);
18391
+ var sub = this._get_rec_markers(id);
18365
18392
  for (var i in sub) {
18366
18393
  if (sub.hasOwnProperty(i)) {
18367
- id2 = sub[i].id;
18368
- if (this.getEvent(id2))
18369
- this.deleteEvent(id2, true);
18394
+ id = sub[i].id;
18395
+ if (this.getEvent(id))
18396
+ this.deleteEvent(id, true);
18370
18397
  }
18371
18398
  }
18372
18399
  }
18373
18400
  return true;
18374
18401
  });
18375
- scheduler2.attachEvent("onEventDeleted", function(id2, ev) {
18376
- if (!this._is_virtual_event(id2) && this._is_modified_occurrence(ev)) {
18377
- if (!scheduler2._events[id2]) {
18402
+ scheduler2.attachEvent("onEventDeleted", function(id, ev) {
18403
+ if (!this._is_virtual_event(id) && this._is_modified_occurrence(ev)) {
18404
+ if (!scheduler2._events[id]) {
18378
18405
  ev.deleted = true;
18379
- this.setEvent(id2, ev);
18406
+ this.setEvent(id, ev);
18380
18407
  scheduler2.render();
18381
18408
  }
18382
18409
  }
@@ -18404,11 +18431,11 @@ function recurring(scheduler2) {
18404
18431
  }
18405
18432
  return true;
18406
18433
  });
18407
- scheduler2.attachEvent("onEventChanged", function(id2, event2) {
18434
+ scheduler2.attachEvent("onEventChanged", function(id, event2) {
18408
18435
  if (this._loading)
18409
18436
  return true;
18410
- let ev = this.getEvent(id2);
18411
- if (this._is_virtual_event(id2)) {
18437
+ let ev = this.getEvent(id);
18438
+ if (this._is_virtual_event(id)) {
18412
18439
  createException(ev);
18413
18440
  } else {
18414
18441
  if (ev.start_date) {
@@ -18418,23 +18445,23 @@ function recurring(scheduler2) {
18418
18445
  ev.end_date = clearMilliseconds(ev.end_date);
18419
18446
  }
18420
18447
  if (isSeries(ev) && this._lightbox_id) {
18421
- if (ev._removeFollowing || this._isFollowing(id2)) {
18448
+ if (ev._removeFollowing || this._isFollowing(id)) {
18422
18449
  ev._removeFollowing = null;
18423
18450
  } else {
18424
18451
  this._roll_back_dates(ev);
18425
18452
  }
18426
18453
  }
18427
- var sub = this._get_rec_markers(id2);
18454
+ var sub = this._get_rec_markers(id);
18428
18455
  for (var i in sub) {
18429
18456
  if (sub.hasOwnProperty(i)) {
18430
18457
  delete this._rec_markers[sub[i].id];
18431
18458
  this.deleteEvent(sub[i].id, true);
18432
18459
  }
18433
18460
  }
18434
- delete this._rec_markers_pull[id2];
18461
+ delete this._rec_markers_pull[id];
18435
18462
  var isEventFound = false;
18436
18463
  for (var k = 0; k < this._rendered.length; k++) {
18437
- if (this._rendered[k].getAttribute(this.config.event_attribute) == id2)
18464
+ if (this._rendered[k].getAttribute(this.config.event_attribute) == id)
18438
18465
  isEventFound = true;
18439
18466
  }
18440
18467
  if (!isEventFound)
@@ -18443,21 +18470,21 @@ function recurring(scheduler2) {
18443
18470
  removeTempDraggedEvent();
18444
18471
  return true;
18445
18472
  });
18446
- scheduler2.attachEvent("onEventAdded", function(id2) {
18473
+ scheduler2.attachEvent("onEventAdded", function(id) {
18447
18474
  if (!this._loading) {
18448
- var ev = this.getEvent(id2);
18475
+ var ev = this.getEvent(id);
18449
18476
  if (isSeries(ev)) {
18450
18477
  this._roll_back_dates(ev);
18451
18478
  }
18452
18479
  }
18453
18480
  return true;
18454
18481
  });
18455
- scheduler2.attachEvent("onEventSave", function(id2, data, is_new_event) {
18456
- let ev = this.getEvent(id2);
18482
+ scheduler2.attachEvent("onEventSave", function(id, data, is_new_event) {
18483
+ let ev = this.getEvent(id);
18457
18484
  let tempEvent = scheduler2._lame_clone(ev);
18458
18485
  let tempDataRRULE = data.rrule;
18459
18486
  if (ev && isSeries(ev)) {
18460
- if (!is_new_event && this._isFollowing(id2)) {
18487
+ if (!is_new_event && this._isFollowing(id)) {
18461
18488
  if (ev._removeFollowing) {
18462
18489
  let occurrence = scheduler2.getEvent(ev._thisAndFollowing);
18463
18490
  if (occurrence && (ev._firstOccurrence || ev._modified)) {
@@ -18469,13 +18496,13 @@ function recurring(scheduler2) {
18469
18496
  ev._end_date = ev._shorten_end_date;
18470
18497
  ev.start_date = ev._start_date;
18471
18498
  ev._shorten = true;
18472
- updateFollowingEventsRRULE(ev);
18499
+ updateFollowingRRULEOnSave(ev);
18473
18500
  scheduler2.callEvent("onEventChanged", [ev.id, ev]);
18474
18501
  let occurrence2 = scheduler2.getEvent(ev._thisAndFollowing);
18475
18502
  if (occurrence2) {
18476
18503
  for (const i in scheduler2._events) {
18477
18504
  let tev = scheduler2._events[i];
18478
- if (tev.recurring_event_id === id2) {
18505
+ if (tev.recurring_event_id === id) {
18479
18506
  if (tev.start_date.valueOf() > tempEvent.start_date.valueOf()) {
18480
18507
  deleteEventFromSeries(tev.id, tev);
18481
18508
  }
@@ -18497,7 +18524,7 @@ function recurring(scheduler2) {
18497
18524
  } else if (occurrence && ev._modified) {
18498
18525
  for (const i in scheduler2._events) {
18499
18526
  let tev = scheduler2._events[i];
18500
- if (tev.recurring_event_id == id2 && tev.id == tempEvent._thisAndFollowing) {
18527
+ if (tev.recurring_event_id == id && tev.id == tempEvent._thisAndFollowing) {
18501
18528
  setPropsForStorageEvent(i, data, ev, tempEvent);
18502
18529
  }
18503
18530
  }
@@ -18509,7 +18536,7 @@ function recurring(scheduler2) {
18509
18536
  ev._end_date = ev._shorten_end_date;
18510
18537
  ev.start_date = ev._start_date;
18511
18538
  ev._shorten = true;
18512
- updateFollowingEventsRRULE(ev);
18539
+ updateFollowingRRULEOnSave(ev);
18513
18540
  scheduler2.callEvent("onEventChanged", [ev.id, ev]);
18514
18541
  let followingEv = { ...tempEvent };
18515
18542
  followingEv.text = data.text;
@@ -18520,7 +18547,7 @@ function recurring(scheduler2) {
18520
18547
  scheduler2.addEvent(followingEv.start_date, followingEv.end_date, followingEv.text, followingEv.id, followingEv);
18521
18548
  }
18522
18549
  if (!is_new_event) {
18523
- updateTextEvents(id2, data);
18550
+ updateTextEvents(id, data);
18524
18551
  }
18525
18552
  scheduler2.hideLightbox();
18526
18553
  return false;
@@ -18528,7 +18555,7 @@ function recurring(scheduler2) {
18528
18555
  }
18529
18556
  }
18530
18557
  if (!is_new_event) {
18531
- updateTextEvents(id2, data);
18558
+ updateTextEvents(id, data);
18532
18559
  }
18533
18560
  if (tempEvent._ocr && tempEvent._beforeEventChangedFlag) {
18534
18561
  ev.start_date = tempEvent.start_date;
@@ -18542,21 +18569,33 @@ function recurring(scheduler2) {
18542
18569
  removeTempDraggedEvent();
18543
18570
  return true;
18544
18571
  });
18545
- scheduler2.attachEvent("onEventCreated", function(id2) {
18546
- var ev = this.getEvent(id2);
18572
+ scheduler2.attachEvent("onEventCreated", function(id) {
18573
+ var ev = this.getEvent(id);
18547
18574
  if (!isSeries(ev)) {
18548
18575
  clearRecurringProperties(ev);
18549
18576
  }
18550
18577
  return true;
18551
18578
  });
18552
- scheduler2.attachEvent("onEventCancel", function(id2) {
18553
- var ev = this.getEvent(id2);
18579
+ scheduler2.attachEvent("onEventCancel", function(id) {
18580
+ var ev = this.getEvent(id);
18554
18581
  if (isSeries(ev)) {
18555
18582
  this._roll_back_dates(ev);
18556
18583
  this.render_view_data();
18557
18584
  }
18558
18585
  removeTempDraggedEvent();
18559
18586
  });
18587
+ scheduler2.attachEvent("onLightbox", function(id) {
18588
+ const event2 = scheduler2.getEvent(id);
18589
+ if (scheduler2._is_virtual_event(event2.id)) {
18590
+ const body = scheduler2.formSection("recurring");
18591
+ if (body && body.node) {
18592
+ const select = body.node.querySelector("select");
18593
+ if (select) {
18594
+ select.disabled = true;
18595
+ }
18596
+ }
18597
+ }
18598
+ });
18560
18599
  scheduler2._roll_back_dates = function(ev) {
18561
18600
  if (ev.start_date) {
18562
18601
  ev.start_date = clearMilliseconds(ev.start_date);
@@ -18591,24 +18630,24 @@ function recurring(scheduler2) {
18591
18630
  if (ev._modified)
18592
18631
  ev._modified = null;
18593
18632
  };
18594
- scheduler2._is_virtual_event = function(id2) {
18595
- return id2.toString().indexOf("#") != -1;
18633
+ scheduler2._is_virtual_event = function(id) {
18634
+ return id.toString().indexOf("#") != -1;
18596
18635
  };
18597
18636
  scheduler2._is_modified_occurrence = function(ev) {
18598
18637
  return ev.recurring_event_id && ev.recurring_event_id != "0";
18599
18638
  };
18600
18639
  scheduler2.showLightbox_rec = scheduler2.showLightbox;
18601
- scheduler2.showLightbox = function(id2) {
18640
+ scheduler2.showLightbox = function(id) {
18602
18641
  const locale = this.locale;
18603
18642
  let formSetting = scheduler2.config.lightbox_recurring;
18604
- let ev = this.getEvent(id2);
18643
+ let ev = this.getEvent(id);
18605
18644
  let pid = ev.recurring_event_id;
18606
- let isVirtual = this._is_virtual_event(id2);
18645
+ let isVirtual = this._is_virtual_event(id);
18607
18646
  if (isVirtual) {
18608
- pid = id2.split("#")[0];
18647
+ pid = id.split("#")[0];
18609
18648
  }
18610
- const showRequiredLightbox = function(id3, type) {
18611
- const occurrence = scheduler2.getEvent(id3);
18649
+ const showRequiredLightbox = function(id2, type) {
18650
+ const occurrence = scheduler2.getEvent(id2);
18612
18651
  const event2 = scheduler2.getEvent(pid);
18613
18652
  const view = scheduler2.getView();
18614
18653
  if (view && occurrence[view.y_property]) {
@@ -18618,7 +18657,7 @@ function recurring(scheduler2) {
18618
18657
  event2[view.property] = occurrence[view.property];
18619
18658
  }
18620
18659
  if (type === "Occurrence") {
18621
- return scheduler2.showLightbox_rec(id3);
18660
+ return scheduler2.showLightbox_rec(id2);
18622
18661
  }
18623
18662
  if (type === "Following") {
18624
18663
  if (scheduler2._isExceptionFirstOccurrence(occurrence)) {
@@ -18664,14 +18703,14 @@ function recurring(scheduler2) {
18664
18703
  }
18665
18704
  };
18666
18705
  if ((pid || pid * 1 === 0) && isSeries(ev)) {
18667
- return showRequiredLightbox(id2, "AllEvents");
18706
+ return showRequiredLightbox(id, "AllEvents");
18668
18707
  }
18669
18708
  if (!pid || pid === "0" || (!locale.labels.confirm_recurring || formSetting == "instance" || formSetting == "series" && !isVirtual)) {
18670
- return this.showLightbox_rec(id2);
18709
+ return this.showLightbox_rec(id);
18671
18710
  }
18672
18711
  if (formSetting === "ask") {
18673
18712
  const locale2 = scheduler2.locale;
18674
- showModalbox([{ value: "Occurrence", label: locale2.labels.button_edit_occurrence, checked: true, callback: () => showRequiredLightbox(id2, "Occurrence") }, { value: "Following", label: locale2.labels.button_edit_occurrence_and_following, callback: () => showRequiredLightbox(id2, "Following") }, { value: "AllEvents", label: locale2.labels.button_edit_series, callback: () => showRequiredLightbox(id2, "AllEvents") }]);
18713
+ showModalbox([{ value: "Occurrence", label: locale2.labels.button_edit_occurrence, checked: true, callback: () => showRequiredLightbox(id, "Occurrence") }, { value: "Following", label: locale2.labels.button_edit_occurrence_and_following, callback: () => showRequiredLightbox(id, "Following") }, { value: "AllEvents", label: locale2.labels.button_edit_series, callback: () => showRequiredLightbox(id, "AllEvents") }]);
18675
18714
  }
18676
18715
  };
18677
18716
  function showModalbox(options, callback) {
@@ -18707,10 +18746,10 @@ function recurring(scheduler2) {
18707
18746
  }
18708
18747
  } });
18709
18748
  }
18710
- scheduler2._showRequiredModalBox = function(id2, type) {
18749
+ scheduler2._showRequiredModalBox = function(id, type) {
18711
18750
  let buttons;
18712
18751
  const locale = scheduler2.locale;
18713
- let occurrence = scheduler2.getEvent(id2);
18752
+ let occurrence = scheduler2.getEvent(id);
18714
18753
  let pid = occurrence.recurring_event_id;
18715
18754
  let isVirtual = scheduler2._is_virtual_event(occurrence.id);
18716
18755
  if (isVirtual) {
@@ -18768,7 +18807,7 @@ function recurring(scheduler2) {
18768
18807
  tempEvent.duration = (+occurrence2.end_date - +occurrence2.start_date) / 1e3;
18769
18808
  tempEvent._beforeEventChangedFlag = occurrence2._beforeEventChangedFlag;
18770
18809
  if (tempEvent.rrule) {
18771
- updateFollowingWithWEEKLY(tempEvent.id, tempEvent);
18810
+ updateFollowingRRULE(tempEvent.id, tempEvent);
18772
18811
  }
18773
18812
  if (!scheduler2.config.collision_limit || scheduler2.checkCollision(tempEvent)) {
18774
18813
  for (const i in scheduler2._events) {
@@ -18788,7 +18827,7 @@ function recurring(scheduler2) {
18788
18827
  tempEvent.start_date = occurrence2.start_date;
18789
18828
  tempEvent._thisAndFollowing = occurrence2.id;
18790
18829
  if (tempEvent.rrule) {
18791
- updateFollowingWithWEEKLY(tempEvent.id, tempEvent);
18830
+ updateFollowingRRULE(tempEvent.id, tempEvent);
18792
18831
  }
18793
18832
  let tempEnd = tempEvent.end_date;
18794
18833
  tempEvent.end_date = tempEvent._end_date;
@@ -18894,12 +18933,12 @@ function recurring(scheduler2) {
18894
18933
  return old.call(this, ev);
18895
18934
  };
18896
18935
  var old_update_event = scheduler2.updateEvent;
18897
- scheduler2.updateEvent = function(id2) {
18898
- var ev = scheduler2.getEvent(id2);
18899
- if (ev && isSeries(ev) && !this._is_virtual_event(id2)) {
18936
+ scheduler2.updateEvent = function(id) {
18937
+ var ev = scheduler2.getEvent(id);
18938
+ if (ev && isSeries(ev) && !this._is_virtual_event(id)) {
18900
18939
  scheduler2.update_view();
18901
18940
  } else {
18902
- old_update_event.call(this, id2);
18941
+ old_update_event.call(this, id);
18903
18942
  }
18904
18943
  };
18905
18944
  })();
@@ -18988,8 +19027,8 @@ function recurring(scheduler2) {
18988
19027
  }
18989
19028
  return new Date(default_date.valueOf());
18990
19029
  };
18991
- scheduler2.getRecDates = function(id2, max) {
18992
- var ev = typeof id2 == "object" ? id2 : scheduler2.getEvent(id2);
19030
+ scheduler2.getRecDates = function(id, max) {
19031
+ var ev = typeof id == "object" ? id : scheduler2.getEvent(id);
18993
19032
  var recurrings = [];
18994
19033
  max = max || 100;
18995
19034
  if (!isSeries(ev)) {
@@ -19604,7 +19643,7 @@ function recurring_legacy(scheduler2) {
19604
19643
  return html;
19605
19644
  }
19606
19645
  var loc = scheduler2.locale.labels;
19607
- return '<div class="dhx_form_repeat"> <form> <div class="dhx_repeat_left"> <div><label><input class="dhx_repeat_radio" type="radio" name="repeat" value="day" />' + loc.repeat_radio_day + '</label></div> <div><label><input class="dhx_repeat_radio" type="radio" name="repeat" value="week"/>' + loc.repeat_radio_week + '</label></div> <div><label><input class="dhx_repeat_radio" type="radio" name="repeat" value="month" checked />' + loc.repeat_radio_month + '</label></div> <div><label><input class="dhx_repeat_radio" type="radio" name="repeat" value="year" />' + loc.repeat_radio_year + '</label></div> </div> <div class="dhx_repeat_divider"></div> <div class="dhx_repeat_center"> <div style="display:none;" id="dhx_repeat_day"> <div><label><input class="dhx_repeat_radio" type="radio" name="day_type" value="d"/>' + loc.repeat_radio_day_type + '</label><label><input class="dhx_repeat_text" type="text" name="day_count" value="1" />' + loc.repeat_text_day_count + '</label></div> <div><label><input class="dhx_repeat_radio" type="radio" name="day_type" checked value="w"/>' + loc.repeat_radio_day_type2 + '</label></div> </div> <div style="display:none;" id="dhx_repeat_week"><div><label>' + loc.repeat_week + '<input class="dhx_repeat_text" type="text" name="week_count" value="1" /></label><span>' + loc.repeat_text_week_count + '</span></div> <table class="dhx_repeat_days"> <tr> <td><div><label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="1" />' + loc.day_for_recurring[1] + '</label></div> <div><label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="4" />' + loc.day_for_recurring[4] + '</label></div></td> <td><div><label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="2" />' + loc.day_for_recurring[2] + '</label></div> <div><label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="5" />' + loc.day_for_recurring[5] + '</label></div></td> <td><div><label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="3" />' + loc.day_for_recurring[3] + '</label></div> <div><label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="6" />' + loc.day_for_recurring[6] + '</label></div></td> <td><div><label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="0" />' + loc.day_for_recurring[0] + '</label></div> </td> </tr> </table> </div> <div id="dhx_repeat_month"> <div><label class = "dhx_repeat_month_label"><input class="dhx_repeat_radio" type="radio" name="month_type" value="d"/>' + loc.repeat_radio_month_type + '</label><label><input class="dhx_repeat_text" type="text" name="month_day" value="1" />' + loc.repeat_text_month_day + '</label><label><input class="dhx_repeat_text" type="text" name="month_count" value="1" />' + loc.repeat_text_month_count + '</label></div> <div><label class = "dhx_repeat_month_label"><input class="dhx_repeat_radio" type="radio" name="month_type" checked value="w"/>' + loc.repeat_radio_month_start + '</label><input class="dhx_repeat_text" type="text" name="month_week2" value="1" /><label><select name="month_day2"> <option value="1" selected >' + scheduler2.locale.date.day_full[1] + '<option value="2">' + scheduler2.locale.date.day_full[2] + '<option value="3">' + scheduler2.locale.date.day_full[3] + '<option value="4">' + scheduler2.locale.date.day_full[4] + '<option value="5">' + scheduler2.locale.date.day_full[5] + '<option value="6">' + scheduler2.locale.date.day_full[6] + '<option value="0">' + scheduler2.locale.date.day_full[0] + "</select>" + loc.repeat_text_month_count2_before + '</label><label><input class="dhx_repeat_text" type="text" name="month_count2" value="1" />' + loc.repeat_text_month_count2_after + '</label></div> </div> <div style="display:none;" id="dhx_repeat_year"> <div><label class = "dhx_repeat_year_label"><input class="dhx_repeat_radio" type="radio" name="year_type" value="d"/>' + loc.repeat_radio_day_type + '</label><label><input class="dhx_repeat_text" type="text" name="year_day" value="1" />' + loc.repeat_text_year_day + '</label><label><select name="year_month"><option value="0" selected >' + loc.month_for_recurring[0] + '<option value="1">' + loc.month_for_recurring[1] + '<option value="2">' + loc.month_for_recurring[2] + '<option value="3">' + loc.month_for_recurring[3] + '<option value="4">' + loc.month_for_recurring[4] + '<option value="5">' + loc.month_for_recurring[5] + '<option value="6">' + loc.month_for_recurring[6] + '<option value="7">' + loc.month_for_recurring[7] + '<option value="8">' + loc.month_for_recurring[8] + '<option value="9">' + loc.month_for_recurring[9] + '<option value="10">' + loc.month_for_recurring[10] + '<option value="11">' + loc.month_for_recurring[11] + "</select>" + loc.select_year_month + '</label></div> <div><label class = "dhx_repeat_year_label"><input class="dhx_repeat_radio" type="radio" name="year_type" checked value="w"/>' + loc.repeat_year_label + '</label><input class="dhx_repeat_text" type="text" name="year_week2" value="1" /><select name="year_day2"><option value="1" selected >' + scheduler2.locale.date.day_full[1] + '<option value="2">' + scheduler2.locale.date.day_full[2] + '<option value="3">' + scheduler2.locale.date.day_full[3] + '<option value="4">' + scheduler2.locale.date.day_full[4] + '<option value="5">' + scheduler2.locale.date.day_full[5] + '<option value="6">' + scheduler2.locale.date.day_full[6] + '<option value="7">' + scheduler2.locale.date.day_full[0] + "</select>" + loc.select_year_day2 + '<select name="year_month2"><option value="0" selected >' + loc.month_for_recurring[0] + '<option value="1">' + loc.month_for_recurring[1] + '<option value="2">' + loc.month_for_recurring[2] + '<option value="3">' + loc.month_for_recurring[3] + '<option value="4">' + loc.month_for_recurring[4] + '<option value="5">' + loc.month_for_recurring[5] + '<option value="6">' + loc.month_for_recurring[6] + '<option value="7">' + loc.month_for_recurring[7] + '<option value="8">' + loc.month_for_recurring[8] + '<option value="9">' + loc.month_for_recurring[9] + '<option value="10">' + loc.month_for_recurring[10] + '<option value="11">' + loc.month_for_recurring[11] + '</select></div> </div> </div> <div class="dhx_repeat_divider"></div> <div class="dhx_repeat_right"> <div><label><input class="dhx_repeat_radio" type="radio" name="end" checked/>' + loc.repeat_radio_end + '</label></div> <div><label><input class="dhx_repeat_radio" type="radio" name="end" />' + loc.repeat_radio_end2 + '</label><input class="dhx_repeat_text" type="text" name="occurences_count" value="1" />' + loc.repeat_text_occurences_count + '</div> <div><label><input class="dhx_repeat_radio" type="radio" name="end" />' + loc.repeat_radio_end3 + '</label><input class="dhx_repeat_date" type="text" name="date_of_end" value="' + scheduler2.config.repeat_date_of_end + '" /></div> </div> </form> </div> </div>';
19646
+ return '<div class="dhx_form_repeat"> <form> <div class="dhx_repeat_left"> <div><label><input class="dhx_repeat_radio" type="radio" name="repeat" value="day" />' + loc.repeat_radio_day + '</label></div> <div><label><input class="dhx_repeat_radio" type="radio" name="repeat" value="week"/>' + loc.repeat_radio_week + '</label></div> <div><label><input class="dhx_repeat_radio" type="radio" name="repeat" value="month" checked />' + loc.repeat_radio_month + '</label></div> <div><label><input class="dhx_repeat_radio" type="radio" name="repeat" value="year" />' + loc.repeat_radio_year + '</label></div> </div> <div class="dhx_repeat_divider"></div> <div class="dhx_repeat_center"> <div style="display:none;" id="dhx_repeat_day"> <div><label><input class="dhx_repeat_radio" type="radio" name="day_type" value="d"/>' + loc.repeat_radio_day_type + '</label><label><input class="dhx_repeat_text" type="text" name="day_count" value="1" />' + loc.repeat_text_day_count + '</label></div> <div><label><input class="dhx_repeat_radio" type="radio" name="day_type" checked value="w"/>' + loc.repeat_radio_day_type2 + '</label></div> </div> <div style="display:none;" id="dhx_repeat_week"><div><label>' + loc.repeat_week + '<input class="dhx_repeat_text" type="text" name="week_count" value="1" /></label><span>' + loc.repeat_text_week_count + '</span></div> <table class="dhx_repeat_days"> <tr> <td><div><label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="1" />' + loc.day_for_recurring[1] + '</label></div> <div><label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="4" />' + loc.day_for_recurring[4] + '</label></div></td> <td><div><label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="2" />' + loc.day_for_recurring[2] + '</label></div> <div><label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="5" />' + loc.day_for_recurring[5] + '</label></div></td> <td><div><label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="3" />' + loc.day_for_recurring[3] + '</label></div> <div><label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="6" />' + loc.day_for_recurring[6] + '</label></div></td> <td><div><label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="0" />' + loc.day_for_recurring[0] + '</label></div> </td> </tr> </table> </div> <div id="dhx_repeat_month"> <div><label class = "dhx_repeat_month_label"><input class="dhx_repeat_radio" type="radio" name="month_type" value="d"/>' + loc.repeat_radio_month_type + '</label><label><input class="dhx_repeat_text" type="text" name="month_day" value="1" />' + loc.repeat_text_month_day + '</label><label><input class="dhx_repeat_text" type="text" name="month_count" value="1" />' + loc.repeat_text_month_count + '</label></div> <div><label class = "dhx_repeat_month_label"><input class="dhx_repeat_radio" type="radio" name="month_type" checked value="w"/>' + loc.repeat_radio_month_start + '</label><input class="dhx_repeat_text" type="text" name="month_week2" value="1" /><label><select name="month_day2"> <option value="1" selected >' + scheduler2.locale.date.day_full[1] + '<option value="2">' + scheduler2.locale.date.day_full[2] + '<option value="3">' + scheduler2.locale.date.day_full[3] + '<option value="4">' + scheduler2.locale.date.day_full[4] + '<option value="5">' + scheduler2.locale.date.day_full[5] + '<option value="6">' + scheduler2.locale.date.day_full[6] + '<option value="0">' + scheduler2.locale.date.day_full[0] + "</select>" + loc.repeat_text_month_count2_before + '</label><label><input class="dhx_repeat_text" type="text" name="month_count2" value="1" />' + loc.repeat_text_month_count2_after + '</label></div> </div> <div style="display:none;" id="dhx_repeat_year"> <div><label class = "dhx_repeat_year_label"><input class="dhx_repeat_radio" type="radio" name="year_type" value="d"/>' + loc.repeat_radio_day_type + '</label><label><input class="dhx_repeat_text" type="text" name="year_day" value="1" />' + loc.repeat_text_year_day + '</label><label><select name="year_month"><option value="0" selected >' + loc.month_for_recurring[0] + '<option value="1">' + loc.month_for_recurring[1] + '<option value="2">' + loc.month_for_recurring[2] + '<option value="3">' + loc.month_for_recurring[3] + '<option value="4">' + loc.month_for_recurring[4] + '<option value="5">' + loc.month_for_recurring[5] + '<option value="6">' + loc.month_for_recurring[6] + '<option value="7">' + loc.month_for_recurring[7] + '<option value="8">' + loc.month_for_recurring[8] + '<option value="9">' + loc.month_for_recurring[9] + '<option value="10">' + loc.month_for_recurring[10] + '<option value="11">' + loc.month_for_recurring[11] + "</select>" + loc.select_year_month + '</label></div> <div><label class = "dhx_repeat_year_label"><input class="dhx_repeat_radio" type="radio" name="year_type" checked value="w"/>' + loc.repeat_year_label + '</label><input class="dhx_repeat_text" type="text" name="year_week2" value="1" /><select name="year_day2"><option value="1" selected >' + scheduler2.locale.date.day_full[1] + '<option value="2">' + scheduler2.locale.date.day_full[2] + '<option value="3">' + scheduler2.locale.date.day_full[3] + '<option value="4">' + scheduler2.locale.date.day_full[4] + '<option value="5">' + scheduler2.locale.date.day_full[5] + '<option value="6">' + scheduler2.locale.date.day_full[6] + '<option value="7">' + scheduler2.locale.date.day_full[0] + "</select>" + loc.select_year_day2 + '<select name="year_month2"><option value="0" selected >' + loc.month_for_recurring[0] + '<option value="1">' + loc.month_for_recurring[1] + '<option value="2">' + loc.month_for_recurring[2] + '<option value="3">' + loc.month_for_recurring[3] + '<option value="4">' + loc.month_for_recurring[4] + '<option value="5">' + loc.month_for_recurring[5] + '<option value="6">' + loc.month_for_recurring[6] + '<option value="7">' + loc.month_for_recurring[7] + '<option value="8">' + loc.month_for_recurring[8] + '<option value="9">' + loc.month_for_recurring[9] + '<option value="10">' + loc.month_for_recurring[10] + '<option value="11">' + loc.month_for_recurring[11] + '</select></div> </div> </div> <div class="dhx_repeat_divider"></div> <div class="dhx_repeat_right"> <div><label><input class="dhx_repeat_radio" type="radio" name="end" checked/>' + loc.repeat_radio_end + '</label></div> <div><label><input class="dhx_repeat_radio" type="radio" name="end" />' + loc.repeat_radio_end2 + '</label><input class="dhx_repeat_text" type="text" name="occurences_count" value="1" />' + loc.repeat_text_occurrences_count + '</div> <div><label><input class="dhx_repeat_radio" type="radio" name="end" />' + loc.repeat_radio_end3 + '</label><input class="dhx_repeat_date" type="text" name="date_of_end" value="' + scheduler2.config.repeat_date_of_end + '" /></div> </div> </form> </div> </div>';
19608
19647
  }, _ds: {}, _get_form_node: function(els, name, value) {
19609
19648
  var col = els[name];
19610
19649
  if (!col)
@@ -19914,15 +19953,15 @@ function recurring_legacy(scheduler2) {
19914
19953
  }
19915
19954
  scheduler2.form_blocks["recurring"]._set_repeat_code = set_repeat_code;
19916
19955
  for (var i = 0; i < top.elements.length; i++) {
19917
- var el2 = top.elements[i];
19918
- switch (el2.name) {
19956
+ var el = top.elements[i];
19957
+ switch (el.name) {
19919
19958
  case "repeat":
19920
- if (el2.nodeName == "SELECT" && !el2.$_eventAttached) {
19921
- el2.$_eventAttached = true;
19922
- el2.addEventListener("change", change_current_view);
19923
- } else if (!el2.$_eventAttached) {
19924
- el2.$_eventAttached = true;
19925
- el2.addEventListener("click", change_current_view);
19959
+ if (el.nodeName == "SELECT" && !el.$_eventAttached) {
19960
+ el.$_eventAttached = true;
19961
+ el.addEventListener("change", change_current_view);
19962
+ } else if (!el.$_eventAttached) {
19963
+ el.$_eventAttached = true;
19964
+ el.addEventListener("click", change_current_view);
19926
19965
  }
19927
19966
  break;
19928
19967
  }
@@ -19978,18 +20017,18 @@ function recurring_legacy(scheduler2) {
19978
20017
  block._toggle_block();
19979
20018
  }, _toggle_block: function() {
19980
20019
  var block = scheduler2.form_blocks.recurring;
19981
- var cont = block._get_form(), el2 = block._get_button();
20020
+ var cont = block._get_form(), el = block._get_button();
19982
20021
  if (!cont.open && !cont.blocked) {
19983
20022
  cont.style.height = "auto";
19984
- if (el2) {
19985
- el2.style.backgroundPosition = "-5px 0px";
19986
- el2.nextSibling.innerHTML = scheduler2.locale.labels.button_recurring_open;
20023
+ if (el) {
20024
+ el.style.backgroundPosition = "-5px 0px";
20025
+ el.nextSibling.innerHTML = scheduler2.locale.labels.button_recurring_open;
19987
20026
  }
19988
20027
  } else {
19989
20028
  cont.style.height = "0px";
19990
- if (el2) {
19991
- el2.style.backgroundPosition = "-5px 20px";
19992
- el2.nextSibling.innerHTML = scheduler2.locale.labels.button_recurring;
20029
+ if (el) {
20030
+ el.style.backgroundPosition = "-5px 20px";
20031
+ el.nextSibling.innerHTML = scheduler2.locale.labels.button_recurring;
19993
20032
  }
19994
20033
  }
19995
20034
  cont.open = !cont.open;
@@ -20042,14 +20081,14 @@ function recurring_legacy(scheduler2) {
20042
20081
  this._rec_markers_pull[ev.event_pid] = {};
20043
20082
  this._rec_markers_pull[ev.event_pid][time] = ev;
20044
20083
  };
20045
- scheduler2._get_rec_marker = function(time, id2) {
20046
- var ch = this._rec_markers_pull[id2];
20084
+ scheduler2._get_rec_marker = function(time, id) {
20085
+ var ch = this._rec_markers_pull[id];
20047
20086
  if (ch)
20048
20087
  return ch[time];
20049
20088
  return null;
20050
20089
  };
20051
- scheduler2._get_rec_markers = function(id2) {
20052
- return this._rec_markers_pull[id2] || [];
20090
+ scheduler2._get_rec_markers = function(id) {
20091
+ return this._rec_markers_pull[id] || [];
20053
20092
  };
20054
20093
  function clearMilliseconds(date) {
20055
20094
  return new Date(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), 0);
@@ -20057,7 +20096,7 @@ function recurring_legacy(scheduler2) {
20057
20096
  scheduler2._rec_temp = [];
20058
20097
  (function() {
20059
20098
  var old_add_event = scheduler2.addEvent;
20060
- scheduler2.addEvent = function(start_date, end_date, text, id2, extra_data) {
20099
+ scheduler2.addEvent = function(start_date, end_date, text, id, extra_data) {
20061
20100
  var ev_id = old_add_event.apply(this, arguments);
20062
20101
  if (ev_id && scheduler2.getEvent(ev_id)) {
20063
20102
  var ev = scheduler2.getEvent(ev_id);
@@ -20075,35 +20114,35 @@ function recurring_legacy(scheduler2) {
20075
20114
  return ev_id;
20076
20115
  };
20077
20116
  })();
20078
- scheduler2.attachEvent("onEventIdChange", function(id2, new_id) {
20117
+ scheduler2.attachEvent("onEventIdChange", function(id, new_id) {
20079
20118
  if (this._ignore_call)
20080
20119
  return;
20081
20120
  this._ignore_call = true;
20082
- if (scheduler2._rec_markers[id2]) {
20083
- scheduler2._rec_markers[new_id] = scheduler2._rec_markers[id2];
20084
- delete scheduler2._rec_markers[id2];
20121
+ if (scheduler2._rec_markers[id]) {
20122
+ scheduler2._rec_markers[new_id] = scheduler2._rec_markers[id];
20123
+ delete scheduler2._rec_markers[id];
20085
20124
  }
20086
- if (scheduler2._rec_markers_pull[id2]) {
20087
- scheduler2._rec_markers_pull[new_id] = scheduler2._rec_markers_pull[id2];
20088
- delete scheduler2._rec_markers_pull[id2];
20125
+ if (scheduler2._rec_markers_pull[id]) {
20126
+ scheduler2._rec_markers_pull[new_id] = scheduler2._rec_markers_pull[id];
20127
+ delete scheduler2._rec_markers_pull[id];
20089
20128
  }
20090
20129
  for (var i = 0; i < this._rec_temp.length; i++) {
20091
20130
  var tev = this._rec_temp[i];
20092
- if (tev.event_pid == id2) {
20131
+ if (tev.event_pid == id) {
20093
20132
  tev.event_pid = new_id;
20094
20133
  this.changeEventId(tev.id, new_id + "#" + tev.id.split("#")[1]);
20095
20134
  }
20096
20135
  }
20097
20136
  for (var i in this._rec_markers) {
20098
20137
  var tev = this._rec_markers[i];
20099
- if (tev.event_pid == id2) {
20138
+ if (tev.event_pid == id) {
20100
20139
  tev.event_pid = new_id;
20101
20140
  tev._pid_changed = true;
20102
20141
  }
20103
20142
  }
20104
- var el2 = scheduler2._rec_markers[new_id];
20105
- if (el2 && el2._pid_changed) {
20106
- delete el2._pid_changed;
20143
+ var el = scheduler2._rec_markers[new_id];
20144
+ if (el && el._pid_changed) {
20145
+ delete el._pid_changed;
20107
20146
  setTimeout(function() {
20108
20147
  if (scheduler2.$destroyed) {
20109
20148
  return true;
@@ -20113,15 +20152,15 @@ function recurring_legacy(scheduler2) {
20113
20152
  }
20114
20153
  delete this._ignore_call;
20115
20154
  });
20116
- scheduler2.attachEvent("onConfirmedBeforeEventDelete", function(id2) {
20117
- var ev = this.getEvent(id2);
20118
- if (this._is_virtual_event(id2) || this._is_modified_occurence(ev) && ev.rec_type && ev.rec_type != "none") {
20119
- id2 = id2.split("#");
20155
+ scheduler2.attachEvent("onConfirmedBeforeEventDelete", function(id) {
20156
+ var ev = this.getEvent(id);
20157
+ if (this._is_virtual_event(id) || this._is_modified_occurence(ev) && ev.rec_type && ev.rec_type != "none") {
20158
+ id = id.split("#");
20120
20159
  var nid = this.uid();
20121
- var tid = id2[1] ? id2[1] : Math.round(ev._pid_time / 1e3);
20160
+ var tid = id[1] ? id[1] : Math.round(ev._pid_time / 1e3);
20122
20161
  var nev = this._copy_event(ev);
20123
20162
  nev.id = nid;
20124
- nev.event_pid = ev.event_pid || id2[0];
20163
+ nev.event_pid = ev.event_pid || id[0];
20125
20164
  var timestamp = tid;
20126
20165
  nev.event_length = timestamp;
20127
20166
  nev.rec_type = nev.rec_pattern = "none";
@@ -20130,37 +20169,37 @@ function recurring_legacy(scheduler2) {
20130
20169
  } else {
20131
20170
  if (ev.rec_type && this._lightbox_id)
20132
20171
  this._roll_back_dates(ev);
20133
- var sub = this._get_rec_markers(id2);
20172
+ var sub = this._get_rec_markers(id);
20134
20173
  for (var i in sub) {
20135
20174
  if (sub.hasOwnProperty(i)) {
20136
- id2 = sub[i].id;
20137
- if (this.getEvent(id2))
20138
- this.deleteEvent(id2, true);
20175
+ id = sub[i].id;
20176
+ if (this.getEvent(id))
20177
+ this.deleteEvent(id, true);
20139
20178
  }
20140
20179
  }
20141
20180
  }
20142
20181
  return true;
20143
20182
  });
20144
- scheduler2.attachEvent("onEventDeleted", function(id2, ev) {
20145
- if (!this._is_virtual_event(id2) && this._is_modified_occurence(ev)) {
20146
- if (!scheduler2._events[id2]) {
20183
+ scheduler2.attachEvent("onEventDeleted", function(id, ev) {
20184
+ if (!this._is_virtual_event(id) && this._is_modified_occurence(ev)) {
20185
+ if (!scheduler2._events[id]) {
20147
20186
  ev.rec_type = ev.rec_pattern = "none";
20148
- this.setEvent(id2, ev);
20187
+ this.setEvent(id, ev);
20149
20188
  }
20150
20189
  }
20151
20190
  });
20152
- scheduler2.attachEvent("onEventChanged", function(id2, event2) {
20191
+ scheduler2.attachEvent("onEventChanged", function(id, event2) {
20153
20192
  if (this._loading)
20154
20193
  return true;
20155
- var ev = this.getEvent(id2);
20156
- if (this._is_virtual_event(id2)) {
20157
- var id2 = id2.split("#");
20194
+ var ev = this.getEvent(id);
20195
+ if (this._is_virtual_event(id)) {
20196
+ var id = id.split("#");
20158
20197
  var nid = this.uid();
20159
20198
  this._not_render = true;
20160
20199
  var nev = this._copy_event(event2);
20161
20200
  nev.id = nid;
20162
- nev.event_pid = id2[0];
20163
- var timestamp = id2[1];
20201
+ nev.event_pid = id[0];
20202
+ var timestamp = id[1];
20164
20203
  nev.event_length = timestamp;
20165
20204
  nev.rec_type = nev.rec_pattern = "";
20166
20205
  this._add_rec_marker(nev, timestamp * 1e3);
@@ -20176,17 +20215,17 @@ function recurring_legacy(scheduler2) {
20176
20215
  if (ev.rec_type && this._lightbox_id) {
20177
20216
  this._roll_back_dates(ev);
20178
20217
  }
20179
- var sub = this._get_rec_markers(id2);
20218
+ var sub = this._get_rec_markers(id);
20180
20219
  for (var i in sub) {
20181
20220
  if (sub.hasOwnProperty(i)) {
20182
20221
  delete this._rec_markers[sub[i].id];
20183
20222
  this.deleteEvent(sub[i].id, true);
20184
20223
  }
20185
20224
  }
20186
- delete this._rec_markers_pull[id2];
20225
+ delete this._rec_markers_pull[id];
20187
20226
  var isEventFound = false;
20188
20227
  for (var k = 0; k < this._rendered.length; k++) {
20189
- if (this._rendered[k].getAttribute(this.config.event_attribute) == id2)
20228
+ if (this._rendered[k].getAttribute(this.config.event_attribute) == id)
20190
20229
  isEventFound = true;
20191
20230
  }
20192
20231
  if (!isEventFound)
@@ -20194,29 +20233,29 @@ function recurring_legacy(scheduler2) {
20194
20233
  }
20195
20234
  return true;
20196
20235
  });
20197
- scheduler2.attachEvent("onEventAdded", function(id2) {
20236
+ scheduler2.attachEvent("onEventAdded", function(id) {
20198
20237
  if (!this._loading) {
20199
- var ev = this.getEvent(id2);
20238
+ var ev = this.getEvent(id);
20200
20239
  if (ev.rec_type && !ev.event_length) {
20201
20240
  this._roll_back_dates(ev);
20202
20241
  }
20203
20242
  }
20204
20243
  return true;
20205
20244
  });
20206
- scheduler2.attachEvent("onEventSave", function(id2, data, is_new_event) {
20207
- var ev = this.getEvent(id2);
20208
- if (!ev.rec_type && data.rec_type && !this._is_virtual_event(id2))
20245
+ scheduler2.attachEvent("onEventSave", function(id, data, is_new_event) {
20246
+ var ev = this.getEvent(id);
20247
+ if (!ev.rec_type && data.rec_type && !this._is_virtual_event(id))
20209
20248
  this._select_id = null;
20210
20249
  return true;
20211
20250
  });
20212
- scheduler2.attachEvent("onEventCreated", function(id2) {
20213
- var ev = this.getEvent(id2);
20251
+ scheduler2.attachEvent("onEventCreated", function(id) {
20252
+ var ev = this.getEvent(id);
20214
20253
  if (!ev.rec_type)
20215
20254
  ev.rec_type = ev.rec_pattern = ev.event_length = ev.event_pid = "";
20216
20255
  return true;
20217
20256
  });
20218
- scheduler2.attachEvent("onEventCancel", function(id2) {
20219
- var ev = this.getEvent(id2);
20257
+ scheduler2.attachEvent("onEventCancel", function(id) {
20258
+ var ev = this.getEvent(id);
20220
20259
  if (ev.rec_type) {
20221
20260
  this._roll_back_dates(ev);
20222
20261
  this.render_view_data();
@@ -20238,32 +20277,32 @@ function recurring_legacy(scheduler2) {
20238
20277
  ev.start_date.setFullYear(ev._start_date.getFullYear());
20239
20278
  }
20240
20279
  };
20241
- scheduler2._is_virtual_event = function(id2) {
20242
- return id2.toString().indexOf("#") != -1;
20280
+ scheduler2._is_virtual_event = function(id) {
20281
+ return id.toString().indexOf("#") != -1;
20243
20282
  };
20244
20283
  scheduler2._is_modified_occurence = function(ev) {
20245
20284
  return ev.event_pid && ev.event_pid != "0";
20246
20285
  };
20247
20286
  scheduler2.showLightbox_rec = scheduler2.showLightbox;
20248
- scheduler2.showLightbox = function(id2) {
20287
+ scheduler2.showLightbox = function(id) {
20249
20288
  var locale = this.locale;
20250
20289
  var c = scheduler2.config.lightbox_recurring;
20251
- var ev = this.getEvent(id2);
20290
+ var ev = this.getEvent(id);
20252
20291
  var pid = ev.event_pid;
20253
- var isVirtual = this._is_virtual_event(id2);
20292
+ var isVirtual = this._is_virtual_event(id);
20254
20293
  if (isVirtual)
20255
- pid = id2.split("#")[0];
20256
- var showSeries = function(id3) {
20257
- var event2 = scheduler2.getEvent(id3);
20294
+ pid = id.split("#")[0];
20295
+ var showSeries = function(id2) {
20296
+ var event2 = scheduler2.getEvent(id2);
20258
20297
  event2._end_date = event2.end_date;
20259
20298
  event2.end_date = new Date(event2.start_date.valueOf() + event2.event_length * 1e3);
20260
- return scheduler2.showLightbox_rec(id3);
20299
+ return scheduler2.showLightbox_rec(id2);
20261
20300
  };
20262
20301
  if ((pid || pid * 1 === 0) && ev.rec_type) {
20263
- return showSeries(id2);
20302
+ return showSeries(id);
20264
20303
  }
20265
20304
  if (!pid || pid === "0" || (!locale.labels.confirm_recurring || c == "instance" || c == "series" && !isVirtual)) {
20266
- return this.showLightbox_rec(id2);
20305
+ return this.showLightbox_rec(id);
20267
20306
  }
20268
20307
  if (c == "ask") {
20269
20308
  var that = this;
@@ -20272,7 +20311,7 @@ function recurring_legacy(scheduler2) {
20272
20311
  case 0:
20273
20312
  return showSeries(pid);
20274
20313
  case 1:
20275
- return that.showLightbox_rec(id2);
20314
+ return that.showLightbox_rec(id);
20276
20315
  case 2:
20277
20316
  return;
20278
20317
  }
@@ -20305,15 +20344,15 @@ function recurring_legacy(scheduler2) {
20305
20344
  return old.call(this, ev);
20306
20345
  };
20307
20346
  var old_update_event = scheduler2.updateEvent;
20308
- scheduler2.updateEvent = function(id2) {
20309
- var ev = scheduler2.getEvent(id2);
20347
+ scheduler2.updateEvent = function(id) {
20348
+ var ev = scheduler2.getEvent(id);
20310
20349
  if (ev && ev.rec_type) {
20311
20350
  ev.rec_pattern = (ev.rec_type || "").split("#")[0];
20312
20351
  }
20313
- if (ev && ev.rec_type && !this._is_virtual_event(id2)) {
20352
+ if (ev && ev.rec_type && !this._is_virtual_event(id)) {
20314
20353
  scheduler2.update_view();
20315
20354
  } else {
20316
- old_update_event.call(this, id2);
20355
+ old_update_event.call(this, id);
20317
20356
  }
20318
20357
  };
20319
20358
  })();
@@ -20470,8 +20509,8 @@ function recurring_legacy(scheduler2) {
20470
20509
  }
20471
20510
  return new Date(default_date.valueOf());
20472
20511
  };
20473
- scheduler2.getRecDates = function(id2, max) {
20474
- var ev = typeof id2 == "object" ? id2 : scheduler2.getEvent(id2);
20512
+ scheduler2.getRecDates = function(id, max) {
20513
+ var ev = typeof id == "object" ? id : scheduler2.getEvent(id);
20475
20514
  var recurrings = [];
20476
20515
  max = max || 100;
20477
20516
  if (!ev.rec_type) {
@@ -21055,8 +21094,8 @@ function year_view(scheduler2) {
21055
21094
  t2.addEventListener("click", scheduler2._click.dhx_cal_data);
21056
21095
  t2.addEventListener("click", function(e2) {
21057
21096
  if (e2.target.closest(`[${scheduler2.config.event_attribute}]`)) {
21058
- const id2 = e2.target.closest(`[${scheduler2.config.event_attribute}]`).getAttribute(scheduler2.config.event_attribute);
21059
- scheduler2.showLightbox(id2);
21097
+ const id = e2.target.closest(`[${scheduler2.config.event_attribute}]`).getAttribute(scheduler2.config.event_attribute);
21098
+ scheduler2.showLightbox(id);
21060
21099
  }
21061
21100
  });
21062
21101
  }
@@ -21212,17 +21251,17 @@ function year_view(scheduler2) {
21212
21251
  };
21213
21252
  var locateEvent = scheduler2._locate_event;
21214
21253
  scheduler2._locate_event = function(node) {
21215
- var id2 = locateEvent.apply(scheduler2, arguments);
21216
- if (!id2) {
21254
+ var id = locateEvent.apply(scheduler2, arguments);
21255
+ if (!id) {
21217
21256
  var date = getCellDate(node);
21218
21257
  if (!date)
21219
21258
  return null;
21220
21259
  var evs = scheduler2.getEvents(date, scheduler2.date.add(date, 1, "day"));
21221
21260
  if (!evs.length)
21222
21261
  return null;
21223
- id2 = evs[0].id;
21262
+ id = evs[0].id;
21224
21263
  }
21225
- return id2;
21264
+ return id;
21226
21265
  };
21227
21266
  scheduler2.attachEvent("onDestroy", function() {
21228
21267
  scheduler2._hideToolTip();