Beispiel #1
0
        private static string ParseDateTime(IAttributes attributes, NameValueCollection pageScripts, TableStyleInfo styleInfo, StringBuilder extraBuilder)
        {
            if (styleInfo.Additional.IsValidate)
            {
                extraBuilder.Append(
                    $@"<span id=""{styleInfo.AttributeName}_msg"" style=""color:red;display:none;"">*</span><script>event_observe('{styleInfo.AttributeName}', 'blur', checkAttributeValue);</script>");
            }

            var selectedValue = attributes.GetString(styleInfo.AttributeName);
            var dateTime      = selectedValue == Current ? DateTime.Now : TranslateUtils.ToDateTime(selectedValue);

            if (pageScripts != null)
            {
                pageScripts["calendar"] =
                    $@"<script type=""text/javascript"" src=""{SiteServerAssets.GetUrl(SiteServerAssets.DatePicker.Js)}""></script>";
            }

            var value = string.Empty;

            if (dateTime > DateUtils.SqlMinValue)
            {
                value = DateUtils.GetDateAndTimeString(dateTime, EDateFormatType.Day, ETimeFormatType.LongTime);
            }

            return($@"<input id=""{styleInfo.AttributeName}"" name=""{styleInfo.AttributeName}"" type=""text"" class=""form-control"" value=""{value}"" onfocus=""{SiteServerAssets.DatePicker.OnFocus}"" style=""width: 180px"" />");
        }
Beispiel #2
0
        protected override void Render(HtmlTextWriter writer)
        {
            var controllerUrl = ApiRouteUEditor.GetUrl(ApiManager.InnerApiUrl, 0);
            var editorUrl     = SiteServerAssets.GetUrl("ueditor");

            if (string.IsNullOrEmpty(Height) || Height == "0")
            {
                Height = "280";
            }
            if (string.IsNullOrEmpty(Width) || Width == "0")
            {
                Width = "100%";
            }

            var builder = new StringBuilder();

            builder.Append(
                $@"<script type=""text/javascript"">window.UEDITOR_HOME_URL = ""{editorUrl}/"";window.UEDITOR_CONTROLLER_URL = ""{controllerUrl}"";</script><script type=""text/javascript"" src=""{editorUrl}/editor_config.js""></script><script type=""text/javascript"" src=""{editorUrl}/ueditor_all_min.js""></script>");

            builder.Append($@"
<textarea id=""{ClientID}"" name=""{ClientID}"" style=""display:none"">{HttpUtility.HtmlEncode(Text)}</textarea>
<script type=""text/javascript"">
$(function(){{
  UE.getEditor('{ClientID}', {UEditorUtils.ConfigValues});
  $('#{ClientID}').show();
}});
</script>");

            writer.Write(builder);
        }
Beispiel #3
0
        public static string ParseTextEditor(IAttributes attributes, string attributeName, SiteInfo siteInfo, NameValueCollection pageScripts, StringBuilder extraBuilder)
        {
            var value = attributes.GetString(attributeName);

            value = ContentUtility.TextEditorContentDecode(siteInfo, value, true);
            value = UEditorUtils.TranslateToHtml(value);
            value = StringUtils.HtmlEncode(value);

            var controllerUrl = ApiRouteUEditor.GetUrl(ApiManager.InnerApiUrl, siteInfo.Id);
            var editorUrl     = SiteServerAssets.GetUrl("ueditor");

            if (pageScripts["uEditor"] == null)
            {
                extraBuilder.Append(
                    $@"<script type=""text/javascript"">window.UEDITOR_HOME_URL = ""{editorUrl}/"";window.UEDITOR_CONTROLLER_URL = ""{controllerUrl}"";</script><script type=""text/javascript"" src=""{editorUrl}/editor_config.js""></script><script type=""text/javascript"" src=""{editorUrl}/ueditor_all_min.js""></script>");
            }
            pageScripts["uEditor"] = string.Empty;

            extraBuilder.Append($@"
<script type=""text/javascript"">
$(function(){{
  UE.getEditor('{attributeName}', {UEditorUtils.ConfigValues});
  $('#{attributeName}').show();
}});
</script>");

            return($@"<textarea id=""{attributeName}"" name=""{attributeName}"" style=""display:none"">{value}</textarea>");
        }
Beispiel #4
0
        public static string GetInsertAudioScript(string attributeName, string playUrl, SiteInfo siteInfo)
        {
            if (string.IsNullOrEmpty(playUrl))
            {
                return(string.Empty);
            }

            var dict = new Dictionary <string, string>
            {
                { StlPlayer.PlayUrl, playUrl },
                { StlPlayer.IsAutoPlay, siteInfo.Additional.ConfigUEditorAudioIsAutoPlay.ToString() },
                { "style", "width: 400px; height: 40px;" }
            };

            return(GetInsertHtmlScript(attributeName,
                                       $@"<img class=""siteserver-stl-audio"" src=""{SiteServerAssets.GetUrl("ueditor/audio-clip.png")}"" {TranslateUtils.ToAttributesString(dict)} />"));
        }
Beispiel #5
0
        protected override void Render(HtmlTextWriter writer)
        {
            var code = string.Empty;

            if (!string.IsNullOrEmpty(Type))
            {
                if (Type.Trim().ToLower() == "jquery")
                {
                    code =
                        $@"<script language=""javascript"" src=""{SiteServerAssets.GetUrl(SiteServerAssets.JQuery.Js)}""></script>";
                }
                else if (Type.Trim().ToLower() == "ajaxupload")
                {
                    code =
                        $@"<script language=""javascript"" src=""{SiteServerAssets.GetUrl(SiteServerAssets.AjaxUpload.Js)}""></script>";
                }
                else if (Type.Trim().ToLower() == "bootstrap")
                {
                    var cssUrl = SiteServerAssets.GetUrl(SiteServerAssets.Bootstrap.Css);
                    var jsUrl  = SiteServerAssets.GetUrl(SiteServerAssets.Bootstrap.Js);

                    code = $@"
<link rel=""stylesheet"" type=""text/css"" href=""{cssUrl}"">
<script language=""javascript"" src=""{jsUrl}""></script>
";
                }
                else if (Type.Trim().ToLower() == "calendar")
                {
                    code =
                        $@"<script language=""javascript"" src=""{SiteServerAssets.GetUrl(SiteServerAssets.DatePicker.Js)}""></script>";
                }
                else if (Type.Trim().ToLower() == "toastr")
                {
                    code =
                        $@"<link rel=""stylesheet"" type=""text/css"" href=""{SiteServerAssets.GetUrl(SiteServerAssets.Toastr.Css)}""><script language=""javascript"" src=""{SiteServerAssets.GetUrl(SiteServerAssets.Toastr.Js)}""></script>";
                }
                else if (Type.Trim().ToLower() == "layer")
                {
                    code =
                        $@"<script language=""javascript"" src=""{SiteServerAssets.GetUrl(SiteServerAssets.Layer.Js)}""></script>";
                }
            }

            writer.Write(code);
        }
Beispiel #6
0
        /// <summary>
        /// Generates the HTML markup for the Next/Prev navigation bar
        /// </summary>
        /// <param name="cell"></param>
        private void BuildNextPrevUi(TableCell cell)
        {
            var isValidPage    = (CurrentPageIndex >= 0 && CurrentPageIndex <= TotalPages - 1);
            var canMoveBack    = (CurrentPageIndex > 0);
            var canMoveForward = (CurrentPageIndex < TotalPages - 1);

            // 首页
            var enabled    = isValidPage && canMoveBack;
            var firstImage = new Image {
                ToolTip = FirstText
            };
            var firstText = new Label {
                Text = FirstText
            };

            if (enabled)
            {
                firstImage.ImageUrl = SiteServerAssets.GetUrl(SiteServerAssets.Arrow.First);

                var link = new HyperLink();
                link.Style.Add("text-decoration", "none");
                link.NavigateUrl = GetNavigationUrl(1);
                if (!string.IsNullOrEmpty(EnabledCssClass))
                {
                    link.CssClass = EnabledCssClass;
                }
                link.Controls.Add(firstImage);
                link.Controls.Add(new LiteralControl("&nbsp;"));
                link.Controls.Add(firstText);
                cell.Controls.Add(link);
            }
            else
            {
                firstImage.ImageUrl = SiteServerAssets.GetUrl(SiteServerAssets.Arrow.FirstDisabled);
                cell.Controls.Add(firstImage);
                cell.Controls.Add(new LiteralControl("&nbsp;"));
                if (!string.IsNullOrEmpty(DisabledCssClass))
                {
                    firstText.CssClass = DisabledCssClass;
                }
                else
                {
                    firstText.Style.Add("color", "gray");
                }
                cell.Controls.Add(firstText);
            }

            cell.Controls.Add(new LiteralControl("&nbsp;&nbsp;"));

            // 上一页
            var prevImage = new Image {
                ToolTip = PrevText
            };
            var prevText = new Label {
                Text = PrevText
            };

            if (enabled)
            {
                prevImage.ImageUrl = SiteServerAssets.GetUrl(SiteServerAssets.Arrow.Previous);

                var link = new HyperLink();
                link.Style.Add("text-decoration", "none");
                link.NavigateUrl = GetNavigationUrl(CurrentPageIndex);
                if (!string.IsNullOrEmpty(EnabledCssClass))
                {
                    link.CssClass = EnabledCssClass;
                }
                link.Controls.Add(prevImage);
                link.Controls.Add(new LiteralControl("&nbsp;"));
                link.Controls.Add(prevText);
                cell.Controls.Add(link);
            }
            else
            {
                prevImage.ImageUrl = SiteServerAssets.GetUrl(SiteServerAssets.Arrow.PreviousDisabled);
                cell.Controls.Add(prevImage);
                cell.Controls.Add(new LiteralControl("&nbsp;"));
                if (!string.IsNullOrEmpty(DisabledCssClass))
                {
                    prevText.CssClass = DisabledCssClass;
                }
                else
                {
                    prevText.Style.Add("color", "gray");
                }
                cell.Controls.Add(prevText);
            }

            cell.Controls.Add(new LiteralControl("&nbsp;&nbsp;"));

            // 下一页
            enabled = isValidPage && canMoveForward;
            var nextImage = new Image {
                ToolTip = NextText
            };
            var nextText = new Label {
                Text = NextText
            };

            if (enabled)
            {
                nextImage.ImageUrl = SiteServerAssets.GetUrl(SiteServerAssets.Arrow.Next);

                var link = new HyperLink();
                link.Style.Add("text-decoration", "none");
                link.NavigateUrl = GetNavigationUrl(CurrentPageIndex + 2);
                if (!string.IsNullOrEmpty(EnabledCssClass))
                {
                    link.CssClass = EnabledCssClass;
                }
                link.Controls.Add(nextImage);
                link.Controls.Add(new LiteralControl("&nbsp;"));
                link.Controls.Add(nextText);
                cell.Controls.Add(link);
            }
            else
            {
                nextImage.ImageUrl = SiteServerAssets.GetUrl(SiteServerAssets.Arrow.NextDisabled);

                cell.Controls.Add(nextImage);
                cell.Controls.Add(new LiteralControl("&nbsp;"));
                if (!string.IsNullOrEmpty(DisabledCssClass))
                {
                    nextText.CssClass = DisabledCssClass;
                }
                else
                {
                    nextText.Style.Add("color", "gray");
                }
                cell.Controls.Add(nextText);
            }

            cell.Controls.Add(new LiteralControl("&nbsp;&nbsp;"));

            // 末页
            var lastImage = new Image {
                ToolTip = LastText
            };
            var lastText = new Label {
                Text = LastText
            };

            if (enabled)
            {
                lastImage.ImageUrl = SiteServerAssets.GetUrl(SiteServerAssets.Arrow.Last);

                var link = new HyperLink();
                link.Style.Add("text-decoration", "none");
                link.NavigateUrl = GetNavigationUrl(TotalPages);
                if (!string.IsNullOrEmpty(EnabledCssClass))
                {
                    link.CssClass = EnabledCssClass;
                }
                link.Controls.Add(lastImage);
                link.Controls.Add(new LiteralControl("&nbsp;"));
                link.Controls.Add(lastText);
                cell.Controls.Add(link);
            }
            else
            {
                lastImage.ImageUrl = SiteServerAssets.GetUrl(SiteServerAssets.Arrow.LastDisabled);

                cell.Controls.Add(lastImage);
                cell.Controls.Add(new LiteralControl("&nbsp;"));
                if (!string.IsNullOrEmpty(DisabledCssClass))
                {
                    lastText.CssClass = DisabledCssClass;
                }
                else
                {
                    lastText.Style.Add("color", "gray");
                }
                cell.Controls.Add(lastText);
            }

            //显示总记录数
            if (TotalPages > 0)
            {
                cell.Controls.Add(new LiteralControl("&nbsp;&nbsp;"));
                var totalPagesText = new Label();
                lastText.Text = $@" ( 共{TotalCount}条 )";
                cell.Controls.Add(totalPagesText);
            }
        }
 protected override void OnLoad(EventArgs e)
 {
     if (Page != null)
     {
         if (!Page.ClientScript.IsStartupScriptRegistered("DateTimeTextBox_Calendar"))
         {
             Page.ClientScript.RegisterStartupScript(GetType(), "DateTimeTextBox_Calendar",
                                                     $@"<script language=""javascript"" src=""{SiteServerAssets.GetUrl(SiteServerAssets.DatePicker.Js)}""></script>");
         }
     }
     base.OnLoad(e);
 }
Beispiel #8
0
        public static string GetScript(SiteInfo siteInfo, ELoadingType loadingType, string contentModelPluginId, NameValueCollection additional)
        {
            var script = @"
<script language=""JavaScript"">
function getTreeLevel(e) {
	var length = 0;
	if (e){
		if (e.tagName == 'TR') {
			length = parseInt(e.getAttribute('treeItemLevel'));
		}
	}
	return length;
}

function getTrElement(element){
	if (!element) return;
	for (element = element.parentNode;;){
		if (element != null && element.tagName == 'TR'){
			break;
		}else{
			element = element.parentNode;
		} 
	}
	return element;
}

function getImgClickableElementByTr(element){
	if (!element || element.tagName != 'TR') return;
	var img = null;
	if (element.childNodes){
		var imgCol = element.getElementsByTagName('IMG');
		if (imgCol){
			for (x=0;x<imgCol.length;x++){
				if (imgCol.item(x).getAttribute('isOpen')){
					img = imgCol.item(x);
					break;
				}
			}
		}
	}
	return img;
}

var activeTrElement = null;
function fontWeightLink(element){
    if (activeTrElement)
    {
        activeTrElement.setAttribute('class', '');
    }
    activeTrElement = getTrElement(element);
    if (activeTrElement) {
        activeTrElement.setAttribute('class', 'table-active');
    }
}

function unSelectRow(tr) {
    tr = $(tr);
    var cb = tr.find('input:checkbox:first');
    if (cb.length  === 0) return;
    var checked = cb.is(':checked');
    cb[0].checked = false;
    tr.removeClass('table-active');
}

var completedChannelId = null;
function displayChildren(img){
	if (!img) return;

	var tr = getTrElement(img);

    var isToOpen = img.getAttribute('isOpen') == 'false';
    var isByAjax = img.getAttribute('isAjax') == 'true';
    var channelId = img.getAttribute('id');

	if (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' width='30' height='12' 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; e != null ; e = e.nextSibling) {
		    if (e && e.tagName && e.tagName == 'TR'){
		        var currentLevel = getTreeLevel(e);
		        if (currentLevel <= level) break;
		        if(e.style.display == '') {
			        e.style.display = 'none';
                    unSelectRow(e);
		        }else{
			        if (currentLevel != level + 1) continue;
			        e.style.display = '';
			        var imgClickable = getImgClickableElementByTr(e);
			        if (imgClickable){
				        if (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 = '{AjaxOtherService.GetGetLoadingChannelsUrl()}';
    var pars = '{AjaxOtherService.GetGetLoadingChannelsParameters(siteInfo.Id, contentModelPluginId, 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){{
paths = paths.substring(paths.indexOf(',') + 1);
                    setTimeout(""loadingChannelsOnLoad('"" + paths + ""')"", 1000);
                }}
            }} 
        }}
    }}
}}
</script>
";

            var treeDirectoryUrl = SiteServerAssets.GetIconUrl("tree");

            script = script.Replace("{iconEmptyUrl}", PageUtils.Combine(treeDirectoryUrl, "empty.gif"));
            script = script.Replace("{iconMinusUrl}", PageUtils.Combine(treeDirectoryUrl, "minus.png"));
            script = script.Replace("{iconPlusUrl}", PageUtils.Combine(treeDirectoryUrl, "plus.png"));
            script = script.Replace("{iconLoadingUrl}", SiteServerAssets.GetUrl("layer/skin/default/xubox_loading0.gif"));
            return(script);
        }
Beispiel #9
0
        public static string GetInsertVideoScript(string attributeName, string playUrl, string imageUrl, SiteInfo siteInfo)
        {
            if (string.IsNullOrEmpty(playUrl))
            {
                return(string.Empty);
            }

            var dict = new Dictionary <string, string>
            {
                { StlPlayer.PlayUrl, playUrl },
                { StlPlayer.IsAutoPlay, siteInfo.Additional.ConfigUEditorVideoIsAutoPlay.ToString() },
                { StlPlayer.PlayBy, siteInfo.Additional.ConfigUEditorVideoPlayBy },
                { "style", "width: 333px; height: 333px;" }
            };

            if (siteInfo.Additional.ConfigUEditorVideoIsImageUrl && !string.IsNullOrEmpty(imageUrl))
            {
                dict.Add(StlPlayer.ImageUrl, imageUrl);
            }
            if (siteInfo.Additional.ConfigUEditorVideoIsWidth)
            {
                dict.Add(StlPlayer.Width, siteInfo.Additional.ConfigUEditorVideoWidth.ToString());
            }
            if (siteInfo.Additional.ConfigUEditorVideoIsHeight)
            {
                dict.Add(StlPlayer.Height, siteInfo.Additional.ConfigUEditorVideoHeight.ToString());
            }

            return(GetInsertHtmlScript(attributeName,
                                       $@"<img class=""siteserver-stl-player"" src=""{SiteServerAssets.GetUrl("ueditor/video-clip.png")}"" {TranslateUtils.ToAttributesString(dict)} />"));
        }