summaryrefslogtreecommitdiffstats
path: root/sources/ext/dhtmlxscheduler_readonly.js
diff options
context:
space:
mode:
Diffstat (limited to 'sources/ext/dhtmlxscheduler_readonly.js')
-rw-r--r--sources/ext/dhtmlxscheduler_readonly.js163
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);
- };
-});