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

Function readonly

codebase/sources/dhtmlxscheduler.es.js:15567–15674  ·  view source on GitHub ↗
(scheduler2)

Source from the content-addressed store, hash-verified

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

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