summaryrefslogtreecommitdiffstats
path: root/codebase/sources/ext/dhtmlxscheduler_url.js
diff options
context:
space:
mode:
authorAlexKlimenkov <shurick.klimenkov@gmail.com>2015-02-03 14:29:45 +0300
committerAlexKlimenkov <shurick.klimenkov@gmail.com>2015-02-05 13:25:55 +0300
commitf56a0475d90af025e92ec4716ff4e5121992b4fe (patch)
treec351eff2ed0b007eafed412a513bbec5fb4c5f91 /codebase/sources/ext/dhtmlxscheduler_url.js
parent32504c39dd0183ac30da815e4cf41ac8fa022b99 (diff)
downloadscheduler-f56a0475d90af025e92ec4716ff4e5121992b4fe.zip
scheduler-f56a0475d90af025e92ec4716ff4e5121992b4fe.tar.gz
scheduler-f56a0475d90af025e92ec4716ff4e5121992b4fe.tar.bz2
[update] version 4.3.0v4.3.0
Diffstat (limited to 'codebase/sources/ext/dhtmlxscheduler_url.js')
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_url.js103
1 files changed, 73 insertions, 30 deletions
diff --git a/codebase/sources/ext/dhtmlxscheduler_url.js b/codebase/sources/ext/dhtmlxscheduler_url.js
index 554a5c6..9718d59 100644
--- a/codebase/sources/ext/dhtmlxscheduler_url.js
+++ b/codebase/sources/ext/dhtmlxscheduler_url.js
@@ -1,37 +1,80 @@
/*
-dhtmlxScheduler v.4.2.0 Stardard
+dhtmlxScheduler v.4.3.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
(c) Dinamenta, UAB.
*/
-scheduler.attachEvent("onTemplatesReady",function(){
- var first = true;
- var s2d = scheduler.date.str_to_date("%Y-%m-%d");
- var d2s = scheduler.date.date_to_str("%Y-%m-%d");
- scheduler.attachEvent("onBeforeViewChange",function(om,od,m,d){
- if (first){
- first = false;
- var p={};
- var data=(document.location.hash||"").replace("#","").split(",");
- for (var i=0; i < data.length; i++) {
- var s = data[i].split("=");
- if (s.length==2)
- p[s[0]]=s[1];
- }
-
- if (p.date || p.mode){
- try{
- this.setCurrentView((p.date?s2d(p.date):null),(p.mode||null));
- } catch(e){
- //assuming that mode is not available anymore
- this.setCurrentView((p.date?s2d(p.date):null),m);
- }
- return false;
- }
- }
- var text = "#date="+d2s(d||od)+",mode="+(m||om);
- document.location.hash = text;
- return true;
- });
+scheduler._get_url_nav = function(){
+ var p = {};
+ var data = (document.location.hash || "").replace("#", "").split(",");
+ for (var i = 0; i < data.length; i++) {
+ var s = data[i].split("=");
+ if (s.length == 2)
+ p[s[0]] = s[1];
+ }
+ return p;
+};
+
+scheduler.attachEvent("onTemplatesReady", function () {
+ var first = true;
+ var s2d = scheduler.date.str_to_date("%Y-%m-%d");
+ var d2s = scheduler.date.date_to_str("%Y-%m-%d");
+ var select_event = scheduler._get_url_nav().event || null;
+
+ scheduler.attachEvent("onAfterEventDisplay", function(ev){
+ select_event = null;
+ return true;
+ });
+
+ scheduler.attachEvent("onBeforeViewChange", function (om, od, m, d) {
+ if (first) {
+ first = false;
+ var p = scheduler._get_url_nav();
+
+ if (p.event){
+ try{
+ if(scheduler.getEvent(p.event)){
+ showEvent(p.event);
+ return false;
+ }else{
+ var handler = scheduler.attachEvent("onXLE", function(){
+ showEvent(p.event);
+ scheduler.detachEvent(handler);
+ });
+ }
+ } catch (e){}
+ }
+
+ if (p.date || p.mode) {
+ try {
+ this.setCurrentView((p.date ? s2d(p.date) : null), (p.mode || null));
+ } catch (e) {
+ //assuming that mode is not available anymore
+ this.setCurrentView((p.date ? s2d(p.date) : null), m);
+ }
+ return false;
+ }
+ }
+
+ var values = [
+ "date=" + d2s(d || od),
+ "mode=" + (m || om)
+ ];
+
+ if(select_event){
+ values.push("event=" + select_event);
+ }
+
+ var text = "#" + values.join(",");
+ document.location.hash = text;
+ return true;
+ });
+
+ function showEvent(e){
+ select_event = e;
+ if(scheduler.getEvent(e)){
+ scheduler.showEvent(e);
+ }
+ }
}); \ No newline at end of file