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

Function _boxStructure

codebase/sources/dhtmlxscheduler.es.js:8732–8787  ·  view source on GitHub ↗
(config, ok, cancel)

Source from the content-addressed store, hash-verified

8730 }
8731 }
8732 function _boxStructure(config, ok, cancel) {
8733 var box = document.createElement("div");
8734 var contentId = utils.uid();
8735 scheduler2._waiAria.messageModalAttr(box, contentId);
8736 box.className = " scheduler_modal_box dhtmlx_modal_box scheduler-" + config.type + " dhtmlx-" + config.type;
8737 box.setAttribute(boxAttribute, 1);
8738 var inner = "";
8739 if (config.width)
8740 box.style.width = config.width;
8741 if (config.height)
8742 box.style.height = config.height;
8743 if (config.title)
8744 inner += '<div class="scheduler_popup_title dhtmlx_popup_title">' + config.title + "</div>";
8745 inner += '<div class="scheduler_popup_text dhtmlx_popup_text" id="' + contentId + '"><span>' + (config.content ? "" : config.text) + '</span></div><div class="scheduler_popup_controls dhtmlx_popup_controls">';
8746 if (ok)
8747 inner += button(getFirstDefined(config.ok, scheduler2.locale.labels.message_ok, "OK"), "ok", true);
8748 if (cancel)
8749 inner += button(getFirstDefined(config.cancel, scheduler2.locale.labels.message_cancel, "Cancel"), "cancel", false);
8750 if (config.buttons) {
8751 for (var i = 0; i < config.buttons.length; i++) {
8752 var btn = config.buttons[i];
8753 if (typeof btn == "object") {
8754 var label = btn.label;
8755 var css = btn.css || "scheduler_" + btn.label.toLowerCase() + "_button dhtmlx_" + btn.label.toLowerCase() + "_button";
8756 var value = btn.value || i;
8757 inner += button(label, css, value);
8758 } else {
8759 inner += button(btn, btn, i);
8760 }
8761 }
8762 }
8763 inner += "</div>";
8764 box.innerHTML = inner;
8765 if (config.content) {
8766 var node = config.content;
8767 if (typeof node == "string")
8768 node = document.getElementById(node);
8769 if (node.style.display == "none")
8770 node.style.display = "";
8771 box.childNodes[config.title ? 1 : 0].appendChild(node);
8772 }
8773 scheduler2.event(box, "click", function(event2) {
8774 var source = event2.target || event2.srcElement;
8775 if (!source.className)
8776 source = source.parentNode;
8777 if (dom_helpers.closest(source, ".scheduler_popup_button")) {
8778 var result = source.getAttribute("data-result");
8779 result = result == "true" || (result == "false" ? false : result);
8780 callback(config, result, event2);
8781 }
8782 });
8783 config.box = box;
8784 if (ok || cancel)
8785 _dhx_msg_cfg = config;
8786 return box;
8787 }
8788 function _createBox(config, ok, cancel) {
8789 var box = config.tagName ? config : _boxStructure(config, ok, cancel);

Callers 1

_createBoxFunction · 0.70

Calls 5

buttonFunction · 0.70
getFirstDefinedFunction · 0.70
callbackFunction · 0.70
uidMethod · 0.65
eventMethod · 0.65

Tested by

no test coverage detected