diff options
author | AlexKlimenkov <shurick.klimenkov@gmail.com> | 2014-06-10 20:50:30 +0300 |
---|---|---|
committer | AlexKlimenkov <shurick.klimenkov@gmail.com> | 2014-06-10 20:50:30 +0300 |
commit | b5a0589955460a44c5428c4cb5429fcfce265d23 (patch) | |
tree | 87db58400a3e036de646fb630cbb358beeac3bc1 /sources/ext/dhtmlxscheduler_readonly.js | |
parent | e2aaaef8540fabd0b5200a4959c269d6f1ae352e (diff) | |
download | scheduler-b5a0589955460a44c5428c4cb5429fcfce265d23.zip scheduler-b5a0589955460a44c5428c4cb5429fcfce265d23.tar.gz scheduler-b5a0589955460a44c5428c4cb5429fcfce265d23.tar.bz2 |
[update] version 4.1.0
Diffstat (limited to 'sources/ext/dhtmlxscheduler_readonly.js')
-rw-r--r-- | sources/ext/dhtmlxscheduler_readonly.js | 163 |
1 files changed, 0 insertions, 163 deletions
diff --git a/sources/ext/dhtmlxscheduler_readonly.js b/sources/ext/dhtmlxscheduler_readonly.js deleted file mode 100644 index 0ead182..0000000 --- a/sources/ext/dhtmlxscheduler_readonly.js +++ /dev/null @@ -1,163 +0,0 @@ -/* -This software is allowed to use under GPL or you need to obtain Commercial or Enterise License -to use it in non-GPL project. Please contact sales@dhtmlx.com for details -*/ -scheduler.attachEvent("onTemplatesReady", function() { - var original_sns = scheduler.config.lightbox.sections; - var recurring_section = null; - var original_left_buttons = scheduler.config.buttons_left.slice(); - var original_right_buttons = scheduler.config.buttons_right.slice(); - - - scheduler.attachEvent("onBeforeLightbox", function(id) { - if (this.config.readonly_form || this.getEvent(id).readonly) { - this.config.readonly_active = true; - - for (var i = 0; i < this.config.lightbox.sections.length; i++) { - this.config.lightbox.sections[i].focus = false; - } - } - else { - this.config.readonly_active = false; - scheduler.config.buttons_left = original_left_buttons.slice(); - scheduler.config.buttons_right = original_right_buttons.slice(); - } - - var sns = this.config.lightbox.sections; - if (this.config.readonly_active) { - var is_rec_found = false; - for (var i = 0; i < sns.length; i++) { - if (sns[i].type == 'recurring') { - recurring_section = sns[i]; - if (this.config.readonly_active) { - sns.splice(i, 1); - } - break; - } - } - if (!is_rec_found && !this.config.readonly_active && recurring_section) { - // need to restore restore section - sns.splice(sns.length-2,0,recurring_section); - } - - var forbidden_buttons = ["dhx_delete_btn", "dhx_save_btn"]; - var button_arrays = [scheduler.config.buttons_left, scheduler.config.buttons_right]; - for (var i = 0; i < forbidden_buttons.length; i++) { - var forbidden_button = forbidden_buttons[i]; - for (var k = 0; k < button_arrays.length; k++) { - var button_array = button_arrays[k]; - var index = -1; - for (var p = 0; p < button_array.length; p++) { - if (button_array[p] == forbidden_button) { - index = p; - break; - } - } - if (index != -1) { - button_array.splice(index, 1); - } - } - } - - - } - - this.resetLightbox(); - - return true; - }); - - function txt_replace(tag, d, n, text) { - var txts = d.getElementsByTagName(tag); - var txtt = n.getElementsByTagName(tag); - for (var i = txtt.length - 1; i >= 0; i--) { - var n = txtt[i]; - if (!text){ - n.disabled = true; - //radio and checkboxes loses state after .cloneNode in IE - if(d.checked) - n.checked = true; - }else { - var t = document.createElement("SPAN"); - t.className = "dhx_text_disabled"; - t.innerHTML = text(txts[i]); - n.parentNode.insertBefore(t, n); - n.parentNode.removeChild(n); - } - } - } - - var old = scheduler._fill_lightbox; - scheduler._fill_lightbox = function() { - - var lb = this.getLightbox(); - if (this.config.readonly_active) { - lb.style.visibility = 'hidden'; - // lightbox should have actual sizes before rendering controls - // currently only matters for dhtmlxCombo - lb.style.display = 'block'; - } - var res = old.apply(this, arguments); - if (this.config.readonly_active) { - //reset visibility and display - lb.style.visibility = ''; - lb.style.display = 'none'; - } - - if (this.config.readonly_active) { - - var d = this.getLightbox(); - var n = this._lightbox_r = d.cloneNode(true); - n.id = scheduler.uid(); - - txt_replace("textarea", d, n, function(a) { - return a.value; - }); - txt_replace("input", d, n, false); - txt_replace("select", d, n, function(a) { - if(!a.options.length) return ""; - return a.options[Math.max((a.selectedIndex || 0), 0)].text; - }); - - d.parentNode.insertBefore(n, d); - - olds.call(this, n); - if (scheduler._lightbox) - scheduler._lightbox.parentNode.removeChild(scheduler._lightbox); - this._lightbox = n; - - if (scheduler.config.drag_lightbox) - n.firstChild.onmousedown = scheduler._ready_to_dnd; - this.setLightboxSize(); - n.onclick = function(e) { - var src = e ? e.target : event.srcElement; - if (!src.className) src = src.previousSibling; - if (src && src.className) - switch (src.className) { - case "dhx_cancel_btn": - scheduler.callEvent("onEventCancel", [scheduler._lightbox_id]); - scheduler._edit_stop_event(scheduler.getEvent(scheduler._lightbox_id), false); - scheduler.hide_lightbox(); - break; - } - }; - } - return res; - }; - - var olds = scheduler.showCover; - scheduler.showCover = function() { - if (!this.config.readonly_active) - olds.apply(this, arguments); - }; - - var hold = scheduler.hide_lightbox; - scheduler.hide_lightbox = function() { - if (this._lightbox_r) { - this._lightbox_r.parentNode.removeChild(this._lightbox_r); - this._lightbox_r = this._lightbox = null; - } - - return hold.apply(this, arguments); - }; -}); |