| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- window.testMetric = function()
- {
- let formData = $('.params-form').serialize();
- const postData = {};
- const params = new URLSearchParams(formData);
- for(const[key, value] of params.entries())
- {
- const decodedKey = decodeURIComponent(key);
- const decodedValue = decodeURIComponent(value);
- if(!(decodedKey in postData)) postData[decodedKey] = [];
- postData[decodedKey].push(decodedValue);
- }
- let url = $.createLink('metric', 'view', 'id=' + metricID);
- $.post(url, postData, function(response){
- response = JSON.parse(response);
- if(response.result == 'success')
- {
- $('.response-box').removeClass('text-danger').html(response.queryResult);
- }
- else
- {
- $('.response-box').addClass('text-danger').html(response.errors);
- }
- })
- }
- function toggleVarType(event)
- {
- let varTypeControl = $(event.target);
- let varName = varTypeControl.closest('.form-body').children().first().text().slice(1);
- let varType = varTypeControl.val();
- let optionsControl = varTypeControl.closest('.form-body-group').find('#options');
- if(varType == 'select')
- {
- optionsControl.removeAttr('disabled');
- toggleOptionsControl('defaultValue', varName, 'select', optionsControl.val());
- toggleOptionsControl('queryValue', varName, 'select', optionsControl.val());
- }
- else if(varType == 'date')
- {
- optionsControl.attr('disabled', true);
- toggleOptionsControl('defaultValue', varName, 'date', optionsControl.val());
- toggleOptionsControl('queryValue', varName, 'date', optionsControl.val());
- }
- else if(varType == 'input')
- {
- optionsControl.attr('disabled', true);
- toggleOptionsControl('defaultValue', varName, 'input',optionsControl.val());
- toggleOptionsControl('queryValue', varName, 'input', optionsControl.val());
- }
- }
- function toggleOptionsControl(controlName, paramName, controlType, optionsType)
- {
- let name = controlName + '-' + paramName;
- let selectBox = $('.' + name + '-select');
- let dateBox = $('.' + name + '-date');
- let inputBox = $('.' + name + '-input');
- let selectControl = selectBox.find('input.pick-value');
- let dateControl = dateBox.find('input.pick-value');
- let inputControl = inputBox.find('input.form-control');
- if(controlType == 'select')
- {
- dateBox.addClass('hidden');
- inputBox.addClass('hidden');
- selectBox.removeClass('hidden');
- dateControl.attr('disabled', true);
- inputControl.attr('disabled', true);
- selectControl.removeAttr('disabled');
- loadOptionsList(optionsType, selectBox);
- }
- else if(controlType == 'date')
- {
- selectBox.addClass('hidden');
- inputBox.addClass('hidden');
- dateBox.removeClass('hidden');
- selectControl.attr('disabled', true);
- inputControl.attr('disabled', true);
- dateControl.removeAttr('disabled');
- }
- else if(controlType == 'input')
- {
- selectBox.addClass('hidden');
- dateBox.addClass('hidden');
- inputBox.removeClass('hidden');
- selectControl.attr('disabled', true);
- dateControl.attr('disabled', true);
- inputControl.removeAttr('disabled');
- }
- }
- function toggleOptionsList(event)
- {
- let varName = $(event.target).closest('.form-body').children().first().text().slice(1);
- let optionsType = $(event.target).val();
- let selectControl = $('.' + name + '-select');
- loadOptionsList(optionsType, $('.' + 'defaultValue-' + varName + '-select'));
- loadOptionsList(optionsType, $('.' + 'queryValue-' + varName + '-select'));
- }
- function loadOptionsList(optionsType, selectControl)
- {
- $.get($.createLink('metric', 'ajaxGetControlOptions', 'optionType=' + optionsType), function(options)
- {
- const defaultValuePicker = selectControl.find('.pick-value').zui('picker');
- options = JSON.parse(options);
- defaultValuePicker.render({items: options});
- });
- }
- window.confirmRecalculate = function(calcRange= 'all', code = '')
- {
- zui.Modal.confirm({message: confirmRecalculate, icon: 'icon-exclamation-sign', iconClass: 'warning-pale rounded-full icon-2x'}).then((res)=>
- {
- if(res) zui.Modal.open({url: $.createLink('metric', 'recalculateSetting', 'calcRange=' + calcRange + '&code=' + code)});
- });
- }
|