| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- $(function()
- {
- if($('#upgradeModal').length) zui.Modal.open({id: 'upgradeModal'});
- else if($('#expiredModal').length) zui.Modal.open({id: 'expiredModal'});
- else if($('#metriclibModal').length) zui.Modal.open({id: 'metriclibModal'});
- });
- function deleteBlock(dashboard, data, block)
- {
- zui.Modal.confirm(data.confirm).then(result =>
- {
- if(!result) return;
- const url = zui.formatString(data.url, block);
- $.ajaxSubmit({url: url, method: 'GET', onSuccess: () => dashboard.delete(block.id)});
- });
- }
- function editBlock(dashboard, data, block)
- {
- zui.Modal.open({url: zui.formatString(data.url, block), size: data.size});
- }
- function createBlock(dashboard, data, block)
- {
- zui.Modal.open({url: zui.formatString(data.url, block), size: data.size});
- }
- function resetBlocks(dashboard, data, block)
- {
- zui.Modal.confirm(data.confirm).then(result =>
- {
- if(!result) return;
- const url = zui.formatString(data.url, block);
- $.ajaxSubmit({url: url, load: false, method: 'GET', onSuccess: () => loadComponent('#dashboard')});
- });
- }
- /**
- * Load block from url.
- *
- * @param {string} id Block ID.
- * @param {string} url Load url.
- */
- window.loadBlock = function(id, url)
- {
- $('#dashboard').dashboard('load', id, url);
- };
- /**
- * Handle layout change and save to server.
- *
- * @param {object} layout
- */
- window.handleLayoutChange = function(layout)
- {
- const form = new FormData();
- Object.keys(layout).forEach(key =>
- {
- const block = layout[key];
- form.append(`block[${key}][left]`, block.left);
- form.append(`block[${key}][top]`, block.top);
- });
- $.ajaxSubmit(
- {
- url: $.createLink('block', 'layout'),
- data: form
- });
- };
- /**
- * Handle block menu click.
- *
- * @param {object} info
- * @param {object} block
- */
- window.handleClickBlockMenu = function(info, block)
- {
- const data = info.item.data;
- const type = data ? data.type : '';
- if(!type) return;
- if(type === 'delete') return deleteBlock(this, data, block);
- if(type === 'edit') return editBlock(this, data, block);
- if(type === 'create') return createBlock(this, data, block);
- if(type === 'reset') return resetBlocks(this, data, block);
- };
- /**
- * Toggle Page when the next page btn click.
- *
- * @param {string} target
- */
- window.togglePage = function(target)
- {
- $('#upgradeModal .page-block').addClass('hidden');
- $(`#upgradeModal .${target}`).removeClass('hidden');
- }
|