browse.ui.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. window.renderCell = function(result, {row, col})
  2. {
  3. return result;
  4. }
  5. window.renderHeaderCell = function(result, {row, col})
  6. {
  7. var text = result[0];
  8. var html = `<span title="${text}">${text}</span>`;
  9. result[0] = {html: html};
  10. return result;
  11. }
  12. window.getCurrentModal = function()
  13. {
  14. target = zui.Modal.query().id;
  15. target = `#${target}`;
  16. return zui.Modal.query(target);
  17. }
  18. window.loadImplement = function(link)
  19. {
  20. const modal = window.getCurrentModal();
  21. if(!modal) return;
  22. $("#" + modal.id).attr('load-url', link);
  23. modal.render({url: link});
  24. }
  25. window.handleFilter = function(scope = 'project', period = 'nodate',viewType = 'history')
  26. {
  27. const formData = new FormData($('#queryForm')[0]);
  28. postAndLoadPage($.createLink('metriclib', 'browse', `scope=${scope}&period=${period}&viewType=${viewType}&isClearFilter=0`), formData, 'dtable/#library:component');
  29. }
  30. window.loadScopeOptions = function(scope)
  31. {
  32. const parentIdList = $('#parentPicker .picker-select').zui('picker').$.value;
  33. const link = $.createLink('metriclib', 'ajaxGetFilterOptions', 'scope=' + scope + '&parentList=' + parentIdList);
  34. $.getJSON(link, function(options)
  35. {
  36. $scopePicker = $('#scopePicker .picker-select').zui('picker');
  37. let scopeValues = $scopePicker.$.value.split(',').map(Number);
  38. let loadedScopeList = options.map(obj => obj.value);
  39. let intersection = loadedScopeList.filter(item => scopeValues.includes(item));
  40. $scopePicker.render({multiple: true, items: options});
  41. $scopePicker.$.setValue(intersection);
  42. })
  43. }