| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- window.renderModuleItem = function(result, info)
- {
- if(info.col.name == 'branch') result[0].children.props.items = info.row.data.branchItems;
- if(info.col.name == 'module') result[0].children.props.items = info.row.data.moduleItems;
- return result;
- }
- $(document).off('change', '[name^=branch]').on('change', '[name^=branch]', function()
- {
- const branchID = $(this).val();
- const caseID = $(this).attr('name').match(/\d+/)[0];
- const libID = $('input[name="fromlib"]').val();
- const link = $.createLink('testcase', 'ajaxGetCanImportModuleItems', 'productID=' + productID + '&libID=' + libID + '&branch=' + branchID + '&caseID=' + caseID);
- $.getJSON(link, function(data)
- {
- modulePicker = $('input[name="module[' + caseID + ']"]').zui('picker');
- if(modulePicker)
- {
- modulePicker.render({items: data});
- }
- else
- {
- new zui.Picker($('div[data-col="module"][data-row="' + caseID + '"]').closest('div[data-col="module"]'), {items: data, name: 'module[' + caseID + ']', defaultValue: ''});
- }
- });
- });
- window.getModuleCellProps = function(cell)
- {
- const caseID = cell.row.data.id;
- const branchID = this.getFormData(`branch[${cell.row.data.id}]`) != undefined ? this.getFormData(`branch[${cell.row.data.id}]`) : cell.row.data.branch;
- const modules = canImportModules[branchID] != undefined && canImportModules[branchID][caseID] != undefined ? canImportModules[branchID][caseID] : {};
- return {items: modules, required: true};
- }
- window.toggleLib = function(event)
- {
- const libID = $(event.target).val();
- const link = $.createLink('testcase','importFromLib','productID=' + productID + '&branch=' + branch + '&libID=' + libID);
- loadPage(link);
- }
- $(document).off('click', '.import-btn').on('click', '.import-btn', function()
- {
- const dtable = zui.DTable.query($(this).target);
- const checkedList = dtable.$.getChecks();
- if(!checkedList.length) return false;
- const url = $('#importFromLibForm').attr('action');
- const formData = new FormData($("#importFromLibForm")[0]);
- const dtableData = dtable.$.getFormData();
- checkedList.forEach((id) =>
- {
- formData.append(`caseIdList[${id}]`, id);
- formData.append(`branch[${id}]`, typeof dtableData[`branch[${id}]`] == 'undefined' ? 0 : dtableData[`branch[${id}]`]);
- formData.append(`module[${id}]`, dtableData[`module[${id}]`]);
- });
- $.ajaxSubmit({url: url, data: formData});
- return false;
- });
- function updateModules()
- {
- var branchID = $(this).val();
- var itemRow = $(this).closest('.dtable-row');
- if(branchID == 'ditto')
- {
- itemRow.preAll().each(function()
- {
- var preSelectedBranch = $(this).find('#branch option:checked').val();
- if(preSelectedBranch != 'ditto')
- {
- branchID = preSelectedBranch;
- return false;
- }
- })
- }
- const moduleLink = $.createLink('tree', 'ajaxGetOptionMenu', 'productID=' + productID + '&viewtype=case&branch=' + branchID + '&rootModuleID=0&returnType=html&fieldID=');
- $.get(moduleLink, function(data)
- {
- var currentModuleItem = itemRow.find('[name^=module]');
- currentModuleItem.parent().html(data);
- itemRow.find('[name^=module]').css({'width': '176px'});
- var caseID = itemRow.attr('data-id');
- if(canImportModules[branchID][caseID] != undefined && Object.keys(canImportModules[branch][caseID]).length > 0)
- {
- currentModuleItem.children().each(function()
- {
- moduleID = $(this).val();
- if(canImportModules[branch][caseID][moduleID] == undefined) $(this).remove();
- });
- }
- currentModuleItem.attr({"name": 'module[' + caseID + ']'});
- itemRow.nextAll().each(function()
- {
- var nextSelectedBranch = $(this).find('#branch option:checked').val();
- if(nextSelectedBranch != 'ditto') return;
- var moduleItem = $(this).find('[name^=module]');
- moduleItem.html(itemRow.find('[name^=module]').html());
- moduleItem.attr({"name": 'module[' + caseID + ']'});
- })
- })
- }
|