MCPcopy Create free account
hub / github.com/DHTMLX/scheduler / readonly

Function readonly

codebase/sources/dhtmlxscheduler.js:15571–15678  ·  view source on GitHub ↗
(scheduler2)

Source from the content-addressed store, hash-verified

15569 };
15570 }
15571 function readonly(scheduler2) {
15572 scheduler2.attachEvent("onTemplatesReady", function() {
15573 var originalRecurringSetValue;
15574 if (scheduler2.form_blocks.recurring) {
15575 originalRecurringSetValue = scheduler2.form_blocks.recurring.set_value;
15576 }
15577 var original_left_buttons = scheduler2.config.buttons_left.slice();
15578 var original_right_buttons = scheduler2.config.buttons_right.slice();
15579 scheduler2.attachEvent("onBeforeLightbox", function(id) {
15580 if (this.config.readonly_form || this.getEvent(id).readonly) {
15581 this.config.readonly_active = true;
15582 } else {
15583 this.config.readonly_active = false;
15584 scheduler2.config.buttons_left = original_left_buttons.slice();
15585 scheduler2.config.buttons_right = original_right_buttons.slice();
15586 if (scheduler2.form_blocks.recurring) {
15587 scheduler2.form_blocks.recurring.set_value = originalRecurringSetValue;
15588 }
15589 }
15590 if (this.config.readonly_active) {
15591 var forbidden_buttons = ["dhx_delete_btn", "dhx_save_btn"];
15592 var button_arrays = [scheduler2.config.buttons_left, scheduler2.config.buttons_right];
15593 for (var i = 0; i < forbidden_buttons.length; i++) {
15594 var forbidden_button = forbidden_buttons[i];
15595 for (var k = 0; k < button_arrays.length; k++) {
15596 var button_array = button_arrays[k];
15597 var index = -1;
15598 for (var p = 0; p < button_array.length; p++) {
15599 if (button_array[p] == forbidden_button) {
15600 index = p;
15601 break;
15602 }
15603 }
15604 if (index != -1) {
15605 button_array.splice(index, 1);
15606 }
15607 }
15608 }
15609 }
15610 this.resetLightbox();
15611 return true;
15612 });
15613 function txt_replace(tag, d, n, text) {
15614 var txts = d.getElementsByTagName(tag);
15615 var txtt = n.getElementsByTagName(tag);
15616 for (var i = txtt.length - 1; i >= 0; i--) {
15617 var n = txtt[i];
15618 if (!text) {
15619 n.disabled = true;
15620 if (d.checked)
15621 n.checked = true;
15622 } else {
15623 var t2 = document.createElement("span");
15624 t2.className = "dhx_text_disabled";
15625 t2.innerHTML = text(txts[i]);
15626 n.parentNode.insertBefore(t2, n);
15627 n.parentNode.removeChild(n);
15628 }

Callers

nothing calls this directly

Calls 9

txt_replaceFunction · 0.70
attachEventMethod · 0.65
getEventMethod · 0.65
resetLightboxMethod · 0.65
getLightboxMethod · 0.65
uidMethod · 0.65
showCoverMethod · 0.65
eventMethod · 0.65
setLightboxSizeMethod · 0.65

Tested by

no test coverage detected