/** * * @param array $element * @return array */ public static function renderHtmlInput(array $element) { // Select for Commands $commandSelect = Select::renderHtmlInput($element); $myHtml = '<div class="row"><div class="col-sm-12">' . $commandSelect['html'] . '</div></div>'; $myJs = $commandSelect['js']; $myHtml .= '<div id="' . $element['name'] . '_command_args" class="row"></div>'; $commandArgumentsUrl = Di::getDefault()->get('router')->getPathFor('/centreon-configuration/command/[i:id]/arguments'); $myJs .= ' ' . '$("#' . $element['name'] . '").on("change", function() { ' . '$("#' . $element['name'] . '_command_args").empty(); ' . 'var commandId = $("#' . $element['name'] . '").val(); ' . 'var realCommandArgumentsUrl = "' . $commandArgumentsUrl . '"; ' . 'var computedCommandArgumentsUrl = realCommandArgumentsUrl.replace("[i:id]", commandId);' . '$.ajax({ ' . 'url: computedCommandArgumentsUrl,' . 'type: "GET", ' . 'dataType: "json" ' . '})' . '.success(function(data, status, jqxhr) { ' . 'var argumentsHtml = ""; ' . '$.each(data, function(key, value){ ' . 'argumentsHtml += "<div class=\\"row\\"><div class=\\"col-sm-3\\">"+value.name+"</div>' . '<div class=\\"col-sm-4\\">' . '<input class=\\"form-control\\" type=\\"text\\" value=\\""+value.value+"\\">' . '</div>' . '<div class=\\"col-sm-3\\">"+value.example+"</div></div>" ' . '}); ' . '$("#' . $element['name'] . '_command_args").append(argumentsHtml); ' . '});' . '});'; return array('html' => $myHtml, 'js' => $myJs); }
/** * * @param array $element * @return array */ public static function renderHtmlInput(array $element) { $extraData = 'data-callback="' . $element['label_initCallback'] . '"'; if (isset($element['label_additionalRoute']) && trim($element['label_additionalRoute'])) { $element['label_additionalRoute'] = Di::getDefault()->get('router')->getPathFor($element['label_additionalRoute'], $element['label_extra']); $extraData .= ' data-extra-url="' . $element['label_additionalRoute'] . '"'; } $render = parent::renderHtmlInput($element); $render['html'] = preg_replace('/<input(.*)/', '<input ' . $extraData . '$1', $render['html']); $render['js'] .= '$("#' . $element['name'] . '").on("change", function () { var callback = $(this).data("callback"); var url = $(this).data("extra-url"); url = (url === undefined ? "" : url); var callbackFunction = window[callback]; if ( typeof callbackFunction === "function" ) { callbackFunction($(this).select2("data"), $(this), url); } });'; return array('html' => $render['html'], 'js' => $render['js']); }
/** * * @param array $element * @return array */ public static function renderHtmlInput(array $element) { $selectImageParameters = array('label_label' => $element['label_label'], 'label_multiple' => false, 'name' => $element['name'], 'label_object_type' => $element['label_object_type'], 'label_defaultValuesRoute' => $element['label_defaultValuesRoute'], 'label_listValuesRoute' => $element['label_listValuesRoute'], 'label_extra' => $element['label_extra'], 'label_object_type' => $element['label_object_type']); $addImageUrl = Di::getDefault()->get('router')->getPathFor($element['label_wizardRoute']); $selectForImage = Select::renderHtmlInput($selectImageParameters); $fileUploadForImage = File::renderHtmlInput($element); $finalHtml = '<div class="inlineGroup">' . '<div class="Elem1">' . $selectForImage['html'] . '</div>' . '<div class="Elem2">' . '<button ' . 'class="btnC btnDefault " ' . 'id="modalAdd_' . $element['name'] . '" ' . 'type="button">' . '<i class="icon-upload"></i>' . '</button>' . '</div>' . '</div>'; $finalJs = $selectForImage['js'] . ' ' . $fileUploadForImage['js'] . ' '; $finalJs .= '$("#modalAdd_' . $element['name'] . '").on("click", function(e) { $("#modal").removeData("bs.modal"); $("#modal").removeData("centreonWizard"); $("#modal .modal-content").text(""); $("#modal").one("loaded.bs.modal", function(e) { $(this).centreonWizard(); }); $("#modal").modal({ "remote": "' . $addImageUrl . '" }); });'; return array('html' => $finalHtml, 'js' => $finalJs); }