public static string GetValue(EDepartmentLoadingType type) { if (type == EDepartmentLoadingType.AdministratorTree) { return("AdministratorTree"); } else if (type == EDepartmentLoadingType.ContentList) { return("ContentList"); } else if (type == EDepartmentLoadingType.DepartmentSelect) { return("DepartmentSelect"); } else if (type == EDepartmentLoadingType.ContentTree) { return("ContentTree"); } else if (type == EDepartmentLoadingType.List) { return("List"); } else { throw new Exception(); } }
public static string GetLoadingDepartmentsParameters(EDepartmentLoadingType loadingType, NameValueCollection additional) { return(TranslateUtils.NameValueCollectionToString(new NameValueCollection { { "loadingType", EDepartmentLoadingTypeUtils.GetValue(loadingType) }, { "additional", TranslateUtils.EncryptStringBySecretKey(TranslateUtils.NameValueCollectionToString(additional)) } })); }
public static bool Equals(EDepartmentLoadingType type, string typeStr) { if (string.IsNullOrEmpty(typeStr)) { return(false); } if (string.Equals(GetValue(type).ToLower(), typeStr.ToLower())) { return(true); } return(false); }
public static string GetDepartmentRowHtml(DepartmentInfo departmentInfo, EDepartmentLoadingType loadingType, NameValueCollection additional) { var treeItem = DepartmentTreeItem.CreateInstance(departmentInfo); var title = treeItem.GetItemHtml(loadingType, additional, false); var rowHtml = string.Empty; if (loadingType == EDepartmentLoadingType.AdministratorTree || loadingType == EDepartmentLoadingType.DepartmentSelect || loadingType == EDepartmentLoadingType.ContentTree) { rowHtml = $@" <tr treeItemLevel=""{departmentInfo.ParentsCount + 1}""> <td nowrap>{title}</td> </tr> "; } else if (loadingType == EDepartmentLoadingType.ContentList) { string editUrl = $@"<a href=""javascript:;"" onclick=""{ModalDepartmentAdd.GetOpenWindowStringToEdit( departmentInfo.Id, GetRedirectUrl(departmentInfo.Id))}"">编辑</a>"; var urlUp = PageUtils.GetSettingsUrl(nameof(PageAdminDepartment), new NameValueCollection { { "Subtract", "True" }, { "DepartmentID", departmentInfo.Id.ToString() } }); string upLink = $@"<a href=""{urlUp}""><img src=""../Pic/icon/up.gif"" border=""0"" alt=""上升"" /></a>"; var urlDown = PageUtils.GetSettingsUrl(nameof(PageAdminDepartment), new NameValueCollection { { "Add", "True" }, { "DepartmentID", departmentInfo.Id.ToString() } }); string downLink = $@"<a href=""{urlDown}""><img src=""../Pic/icon/down.gif"" border=""0"" alt=""下降"" /></a>"; string checkBoxHtml = $"<input type='checkbox' name='DepartmentIDCollection' value='{departmentInfo.Id}' />"; rowHtml = $@" <tr treeItemLevel=""{departmentInfo.ParentsCount + 1}""> <td>{title}</td> <td> {departmentInfo.Code}</td> <td class=""text-center"">{departmentInfo.CountOfAdmin}</td> <td class=""text-center"">{upLink}</td> <td class=""text-center"">{downLink}</td> <td class=""text-center"">{editUrl}</td> <td class=""text-center"">{checkBoxHtml}</td> </tr> "; } return(rowHtml); }
public static bool Equals(string typeStr, EDepartmentLoadingType type) { return(Equals(type, typeStr)); }
public static string GetScript(EDepartmentLoadingType loadingType, NameValueCollection additional) { var script = @" <script language=""JavaScript""> function getTreeLevel(e) { var length = 0; if (!isNull(e)){ if (e.tagName == 'TR') { length = parseInt(e.getAttribute('treeItemLevel')); } } return length; } function getTrElement(element){ if (isNull(element)) return; for (element = element.parentNode;;){ if (element != null && element.tagName == 'TR'){ break; }else{ element = element.parentNode; } } return element; } function getImgClickableElementByTr(element){ if (isNull(element) || element.tagName != 'TR') return; var img = null; if (!isNull(element.childNodes)){ var imgCol = element.getElementsByTagName('IMG'); if (!isNull(imgCol)){ for (x=0;x<imgCol.length;x++){ if (!isNull(imgCol.item(x).getAttribute('isOpen'))){ img = imgCol.item(x); break; } } } } return img; } var weightedLink = null; function fontWeightLink(element){ if (weightedLink != null) { weightedLink.style.fontWeight = 'normal'; } element.style.fontWeight = 'bold'; weightedLink = element; } var completedChannelId = null; function displayChildren(img){ if (isNull(img)) return; var tr = getTrElement(img); var isToOpen = img.getAttribute('isOpen') == 'false'; var isByAjax = img.getAttribute('isAjax') == 'true'; var channelId = img.getAttribute('id'); if (!isNull(img) && img.getAttribute('isOpen') != null){ if (img.getAttribute('isOpen') == 'false'){ img.setAttribute('isOpen', 'true'); img.setAttribute('src', '{iconMinusUrl}'); }else{ img.setAttribute('isOpen', 'false'); img.setAttribute('src', '{iconPlusUrl}'); } } if (isToOpen && isByAjax) { var div = document.createElement('div'); div.innerHTML = ""<img align='absmiddle' border='0' src='{iconLoadingUrl}' /> 加载中,请稍候...""; img.parentNode.appendChild(div); $(div).addClass('loading'); loadingChannels(tr, img, div, channelId); } else { var level = getTreeLevel(tr); var collection = new Array(); var index = 0; for ( var e = tr.nextSibling; !isNull(e) ; e = e.nextSibling) { if (!isNull(e) && !isNull(e.tagName) && e.tagName == 'TR'){ var currentLevel = getTreeLevel(e); if (currentLevel <= level) break; if(e.style.display == '') { e.style.display = 'none'; }else{ if (currentLevel != level + 1) continue; e.style.display = ''; var imgClickable = getImgClickableElementByTr(e); if (!isNull(imgClickable)){ if (!isNull(imgClickable.getAttribute('isOpen')) && imgClickable.getAttribute('isOpen') =='true'){ imgClickable.setAttribute('isOpen', 'false'); imgClickable.setAttribute('src', '{iconPlusUrl}'); collection[index] = imgClickable; index++; } } } } } if (index > 0){ for (i=0;i<=index;i++){ displayChildren(collection[i]); } } } } "; script += $@" function loadingChannels(tr, img, div, channelId){{ var url = '{AjaxSystemService.GetLoadingDepartmentsUrl()}'; var pars = '{AjaxSystemService.GetLoadingDepartmentsParameters(loadingType, additional)}&parentID=' + channelId; jQuery.post(url, pars, function(data, textStatus) {{ $($.parseHTML(data)).insertAfter($(tr)); img.setAttribute('isAjax', 'false'); img.parentNode.removeChild(div); }}); completedChannelId = channelId; }} function loadingChannelsOnLoad(paths){{ if (paths && paths.length > 0){{ var channelIds = paths.split(','); var channelId = channelIds[0]; var img = $('#' + channelId); if (img.attr('isOpen') == 'false'){{ displayChildren(img[0]); // if (completedChannelId && completedChannelId == channelId){{ // if (paths.indexOf(',') != -1){{ // setTimeout(""loadingChannelsOnLoad("" + paths + "")"", 3000); // }} // }} }} }} }} </script> "; var item = new DepartmentTreeItem(); script = script.Replace("{iconEmptyUrl}", item._iconEmptyUrl); script = script.Replace("{iconFolderUrl}", item._iconFolderUrl); script = script.Replace("{iconMinusUrl}", item._iconMinusUrl); script = script.Replace("{iconPlusUrl}", item._iconPlusUrl); script = script.Replace("{iconLoadingUrl}", SiteServerAssets.GetIconUrl("loading.gif")); script = script.Replace("loadingChannels", "loadingChannels_Department"); script = script.Replace("displayChildren", "displayChildren_Department"); return(script); }
public string GetItemHtml(EDepartmentLoadingType loadingType, NameValueCollection additional, bool isOpen) { var htmlBuilder = new StringBuilder(); var parentsCount = _departmentInfo.ParentsCount; if (loadingType == EDepartmentLoadingType.AdministratorTree || loadingType == EDepartmentLoadingType.DepartmentSelect || loadingType == EDepartmentLoadingType.ContentTree) { parentsCount = parentsCount + 1; } for (var i = 0; i < parentsCount; i++) { htmlBuilder.Append($@"<img align=""absmiddle"" src=""{_iconEmptyUrl}"" />"); } if (_departmentInfo.ChildrenCount > 0) { if (isOpen) { htmlBuilder.Append( $@"<img align=""absmiddle"" style=""cursor:pointer"" onClick=""displayChildren(this);"" isAjax=""false"" isOpen=""true"" id=""{_departmentInfo .Id}"" src=""{_iconMinusUrl}"" />"); } else { htmlBuilder.Append( $@"<img align=""absmiddle"" style=""cursor:pointer"" onClick=""displayChildren(this);"" isAjax=""true"" isOpen=""false"" id=""{_departmentInfo .Id}"" src=""{_iconPlusUrl}"" />"); } } else { htmlBuilder.Append($@"<img align=""absmiddle"" src=""{_iconEmptyUrl}"" />"); } if (!string.IsNullOrEmpty(_iconFolderUrl)) { htmlBuilder.Append($@"<img align=""absmiddle"" src=""{_iconFolderUrl}"" />"); } htmlBuilder.Append(" "); if (loadingType == EDepartmentLoadingType.AdministratorTree) { var linkUrl = PageAdministrator.GetRedirectUrl(); htmlBuilder.Append( $"<a href='{linkUrl}' isLink='true' onclick='fontWeightLink(this)' target='department'>{_departmentInfo.DepartmentName}</a>"); } else if (loadingType == EDepartmentLoadingType.DepartmentSelect) { var linkUrl = PageUtils.AddQueryString(additional["UrlFormatString"], new NameValueCollection { { "DepartmentId", _departmentInfo.Id.ToString() } }); htmlBuilder.Append($"<a href='{linkUrl}'>{_departmentInfo.DepartmentName}</a>"); } else if (loadingType == EDepartmentLoadingType.ContentTree) { var linkUrl = PageContent.GetRedirectUrl(TranslateUtils.ToInt(additional["SiteId"]), _departmentInfo.Id); htmlBuilder.Append( $"<a href='{linkUrl}' isLink='true' onclick='fontWeightLink(this)' target='content'>{_departmentInfo.DepartmentName}</a>"); } else { htmlBuilder.Append(_departmentInfo.DepartmentName); } if (loadingType == EDepartmentLoadingType.AdministratorTree) { if (_departmentInfo.CountOfAdmin >= 0) { htmlBuilder.Append(" "); htmlBuilder.Append( $@"<span style=""font-size:8pt;font-family:arial"" class=""gray"">({_departmentInfo.CountOfAdmin})</span>"); } } htmlBuilder.Replace("displayChildren", "displayChildren_Department"); return(htmlBuilder.ToString()); }