Example #1
0
        private void DgContents_ItemDataBound(object sender, DataGridItemEventArgs e)
        {
            if (e.Item.ItemType != ListItemType.Item && e.Item.ItemType != ListItemType.AlternatingItem)
            {
                return;
            }

            var fieldInfo = (FieldInfo)e.Item.DataItem;
            var settings  = new FieldSettings(fieldInfo.Settings);

            var ltlTitle       = (Literal)e.Item.FindControl("ltlTitle");
            var ltlDescription = (Literal)e.Item.FindControl("ltlDescription");
            var ltlFieldType   = (Literal)e.Item.FindControl("ltlFieldType");
            var ltlValidate    = (Literal)e.Item.FindControl("ltlValidate");
            var ltlActions     = (Literal)e.Item.FindControl("ltlActions");

            ltlTitle.Text       = fieldInfo.Title;
            ltlDescription.Text = fieldInfo.Description;
            ltlFieldType.Text   = FieldTypeUtils.GetText(FieldTypeUtils.GetEnumType(fieldInfo.FieldType));

            ltlValidate.Text = ValidateTypeUtils.GetValidateInfo(settings.IsRequired,
                                                                 settings.MinNum, settings.MaxNum, settings.ValidateType);

            ltlActions.Text = $@"
<a class=""m-r-10"" href=""{PageFieldsUrl}&taxis={true}&direction=Up&fieldId={fieldInfo.Id}"">上升</a>
<a class=""m-r-10"" href=""{PageFieldsUrl}&taxis={true}&direction=Down&fieldId={fieldInfo.Id}"">下降</a>
<a class=""m-r-10"" href=""javascript:;"" onclick=""{ModalFieldAdd.GetOpenScript(SiteId, FormInfo.Id, fieldInfo.Id)}"">编辑</a>
<a class=""m-r-10"" href=""javascript:;"" onclick=""{ModalFieldValidate.GetOpenScript(SiteId, FormInfo.Id, fieldInfo.Id)}"">验证规则</a>
<a class=""m-r-10"" href=""{PageFieldsUrl}&delete={true}&fieldId={fieldInfo.Id}"">删除</a>";
        }
Example #2
0
        private void RptItems_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType != ListItemType.Item && e.Item.ItemType != ListItemType.AlternatingItem)
            {
                return;
            }

            var item      = (FieldItemInfo)e.Item.DataItem;
            var fieldType = FieldTypeUtils.GetEnumType(DdlFieldType.SelectedValue);

            var cbIsSelected = (CheckBox)e.Item.FindControl("CbIsSelected");
            var cbIsExtras   = (CheckBox)e.Item.FindControl("CbIsExtras");

            if (fieldType == FieldType.CheckBox || fieldType == FieldType.Radio)
            {
                cbIsExtras.Visible = true;
            }
            else
            {
                cbIsExtras.Visible = false;
            }

            cbIsSelected.Checked = item.IsSelected;
            cbIsExtras.Checked   = item.IsExtras;
        }
Example #3
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack)
            {
                return;
            }

            var fieldId   = Utils.ToInt(Request.QueryString["fieldId"]);
            var fieldInfo = fieldId > 0 ? Main.Instance.FieldDao.GetFieldInfo(fieldId, true) : new FieldInfo();

            FieldTypeUtils.AddListItems(DdlFieldType);

            DdlIsRapid.SelectedValue = fieldInfo.Id != 0 ? false.ToString() : true.ToString();

            TbTitle.Text       = fieldInfo.Title;
            TbDescription.Text = fieldInfo.Description;
            TbPlaceHolder.Text = fieldInfo.PlaceHolder;
            Utils.SelectSingleItem(DdlFieldType, fieldInfo.FieldType);

            TbItemCount.Text = fieldInfo.Items.Count.ToString();

            RptItems.DataSource     = GetDataSource(fieldInfo.Items.Count, fieldInfo.Items);
            RptItems.ItemDataBound += RptItems_ItemDataBound;
            RptItems.DataBind();

            var isSelected = false;
            var isExtras   = false;
            var list       = new List <string>();

            foreach (var item in fieldInfo.Items)
            {
                list.Add(item.Value);
                if (item.IsSelected)
                {
                    isSelected = true;
                }
                if (item.IsExtras)
                {
                    isExtras = true;
                }
            }

            DdlIsRapid.SelectedValue = (!isSelected && !isExtras).ToString();
            TbRapidValues.Text       = string.Join(",", list);

            ReFresh(null, EventArgs.Empty);
        }
Example #4
0
        private void DgContents_ItemDataBound(object sender, DataGridItemEventArgs e)
        {
            if (e.Item.ItemType != ListItemType.Item && e.Item.ItemType != ListItemType.AlternatingItem)
            {
                return;
            }

            var fieldInfo = (FieldInfo)e.Item.DataItem;
            var settings  = new FieldSettings(fieldInfo.FieldSettings);

            var ltlAttributeName = (Literal)e.Item.FindControl("ltlAttributeName");
            var ltlDisplayName   = (Literal)e.Item.FindControl("ltlDisplayName");
            var ltlFieldType     = (Literal)e.Item.FindControl("ltlFieldType");
            var ltlIsDisabled    = (Literal)e.Item.FindControl("ltlIsDisabled");
            var ltlValidate      = (Literal)e.Item.FindControl("ltlValidate");
            var ltlActions       = (Literal)e.Item.FindControl("ltlActions");

            ltlAttributeName.Text = fieldInfo.AttributeName;

            ltlDisplayName.Text = fieldInfo.DisplayName;
            ltlFieldType.Text   = FieldTypeUtils.GetText(FieldTypeUtils.GetEnumType(fieldInfo.FieldType));

            ltlIsDisabled.Text = fieldInfo.IsDisabled
                ? @"<span class=""label label-danger"">已禁用</span>"
                : @"<span class=""label label-primary"">已启用</span>";
            ltlValidate.Text = ValidateTypeUtils.GetValidateInfo(settings.IsRequired,
                                                                 settings.MinNum, settings.MaxNum, settings.ValidateType);

            ltlActions.Text = $@"
<a class=""m-r-10"" href=""{PageUrl}&taxis={true}&direction=Up&fieldId={fieldInfo
                .Id}"">上升</a>
<a class=""m-r-10"" href=""{PageUrl}&taxis={true}&direction=Down&fieldId={fieldInfo
                .Id}"">下降</a>
<a class=""m-r-10"" href=""{PageUrl}&addField={true}&fieldId={fieldInfo.Id}"">编辑</a>
<a class=""m-r-10"" href=""{PageUrl}&validateField={true}&fieldId={fieldInfo.Id}"">验证规则</a>
<a class=""m-r-10"" href=""{PageUrl}&delete={true}&fieldId={fieldInfo.Id}"">删除</a>";
        }
Example #5
0
        public void Page_Load(object sender, EventArgs e)
        {
            _apiUrl    = HttpUtility.UrlDecode(Request.QueryString["apiUrl"]);
            _siteId    = Convert.ToInt32(Request.QueryString["siteId"]);
            _channelId = Convert.ToInt32(Request.QueryString["channelId"]);
            _contentId = Convert.ToInt32(Request.QueryString["contentId"]);
            _returnUrl = HttpUtility.UrlDecode(Request.QueryString["returnUrl"]);

            if (!Main.AdminApi.IsSiteAuthorized(_siteId))
            {
                Response.Write("<h1>未授权访问</h1>");
                Response.End();
                return;
            }

            if (IsPostBack)
            {
                return;
            }

            //删除样式
            if (!string.IsNullOrEmpty(Request.QueryString["delete"]))
            {
                var fieldId = Convert.ToInt32(Request.QueryString["fieldId"]);
                Main.FieldDao.Delete(fieldId);
                LtlMessage.Text = Utils.GetMessageHtml("字段删除成功!", true);
            }
            if (!string.IsNullOrEmpty(Request.QueryString["taxis"]))
            {
                var fieldId   = Convert.ToInt32(Request.QueryString["fieldId"]);
                var direction = Request.QueryString["direction"];

                switch (direction.ToUpper())
                {
                case "UP":
                    Main.FieldDao.TaxisUp(fieldId);
                    break;

                case "DOWN":
                    Main.FieldDao.TaxisDown(fieldId);
                    break;
                }
                LtlMessage.Text = Utils.GetMessageHtml("排序成功!", true);
            }

            var fieldList = Main.FieldDao.GetFieldInfoList(_siteId, _channelId, _contentId, false);

            DgContents.DataSource     = fieldList;
            DgContents.ItemDataBound += DgContents_ItemDataBound;
            DgContents.DataBind();

            //BtnReturn.Attributes.Add("onclick",
            //    $"location.href='{PageManagement.GetRedirectUrl(_siteId)}';return false;");
            BtnAddField.Attributes.Add("onclick",
                                       $"location.href = '{PageUrl}&addField={true}';return false;");

            if (!string.IsNullOrEmpty(Request.QueryString["addField"]))
            {
                PhModalAdd.Visible = true;
                var fieldId   = Convert.ToInt32(Request.QueryString["fieldId"]);
                var fieldInfo = fieldId > 0 ? Main.FieldDao.GetFieldInfo(fieldId, true) : new FieldInfo();

                LtlModalAddTitle.Text = fieldId > 0 ? "编辑字段" : "新增字段";
                LtlScript.Text        = @"<script>
setTimeout(function() {
    $('#modalAdd').modal();
}, 100);
</script>";

                FieldTypeUtils.AddListItems(DdlFieldType);

                DdlItemType.SelectedValue = fieldInfo.Id != 0 ? false.ToString() : true.ToString();

                TbAttributeName.Text = fieldInfo.AttributeName;
                TbDisplayName.Text   = fieldInfo.DisplayName;
                TbPlaceHolder.Text   = fieldInfo.PlaceHolder;
                Utils.SelectListItems(DdlFieldType, fieldInfo.FieldType);

                Utils.SelectListItems(DdlIsDisabled, fieldInfo.IsDisabled.ToString());

                TbItemCount.Text        = fieldInfo.Items.Count.ToString();
                RptItems.DataSource     = FieldManager.GetFieldItemDataSet(fieldInfo.Items.Count, fieldInfo.Items);
                RptItems.ItemDataBound += RptItems_ItemDataBound;
                RptItems.DataBind();

                var isSelected = false;
                var list       = new List <string>();
                foreach (var item in fieldInfo.Items)
                {
                    list.Add(item.Value);
                    if (item.IsSelected)
                    {
                        isSelected = true;
                    }
                }

                DdlItemType.SelectedValue = (!isSelected).ToString();
                TbItemValues.Text         = string.Join(",", list);

                ReFresh(null, EventArgs.Empty);
            }
            else if (!string.IsNullOrEmpty(Request.QueryString["validateField"]))
            {
                PhModalValidate.Visible = true;
                var fieldId   = Convert.ToInt32(Request.QueryString["fieldId"]);
                var fieldInfo = Main.FieldDao.GetFieldInfo(fieldId, false);

                LtlScript.Text = @"<script>
setTimeout(function() {
    $('#modalValidate').modal();
}, 100);
</script>";

                var settings = new FieldSettings(fieldInfo.FieldSettings);
                Utils.SelectListItems(DdlIsValidate, settings.IsValidate.ToString());
                Utils.SelectListItems(DdlIsRequired, settings.IsRequired.ToString());

                if (Utils.EqualsIgnoreCase(fieldInfo.FieldType, nameof(FieldType.Text)) || Utils.EqualsIgnoreCase(fieldInfo.FieldType, nameof(FieldType.TextArea)))
                {
                    PhNum.Visible = true;
                }
                else
                {
                    PhNum.Visible = false;
                }

                TbMinNum.Text = settings.MinNum.ToString();
                TbMaxNum.Text = settings.MaxNum.ToString();

                ValidateTypeUtils.AddListItems(DdlValidateType);
                Utils.SelectListItems(DdlValidateType, settings.ValidateType.Value);

                TbErrorMessage.Text = settings.ErrorMessage;

                Validate_SelectedIndexChanged(null, EventArgs.Empty);
            }

            //var redirectUrl = GetRedirectUrl(PublishmentSystemId, _tableStyle, _tableName, _relatedIdentity, _itemId);

            //btnAddStyle.Attributes.Add("onclick", ModalTableStyleAdd.GetOpenWindowString(PublishmentSystemId, 0, _relatedIdentities, _tableName, string.Empty, _tableStyle, redirectUrl));
            //btnAddStyles.Attributes.Add("onclick", ModalTableStylesAdd.GetOpenWindowString(PublishmentSystemId, _relatedIdentities, _tableName, _tableStyle, redirectUrl));

            //btnImport.Attributes.Add("onclick", ModalTableStyleImport.GetOpenWindowString(_tableName, _tableStyle, PublishmentSystemId, _relatedIdentity));
            //btnExport.Attributes.Add("onclick", ModalExportMessage.GetOpenWindowStringToSingleTableStyle(_tableStyle, _tableName, PublishmentSystemId, _relatedIdentity));
        }
Example #6
0
        public static void RegisterFormCode(IParseContext context, string vueId, FormInfo formInfo, FormSettings formSettings)
        {
            var fieldInfoList = Main.Instance.FieldDao.GetFieldInfoList(formInfo.Id, true);

            var imgUrl       = Main.Instance.PluginApi.GetPluginApiUrl(nameof(ApiUtils.Captcha), formInfo.Id.ToString());
            var apiUrlSubmit = Main.Instance.PluginApi.GetPluginApiUrl(nameof(ApiUtils.Submit), formInfo.Id.ToString());

            var schemas = new List <object>();
            var values  = new StringBuilder();

            foreach (var fieldInfo in fieldInfoList)
            {
                var fieldType     = FieldTypeUtils.GetEnumType(fieldInfo.FieldType);
                var attributeName = FieldManager.GetAttributeId(fieldInfo.Id);
                var settings      = new FieldSettings(fieldInfo.Settings);
                schemas.Add(new
                {
                    AttributeName = attributeName,
                    fieldInfo.Title,
                    fieldInfo.Description,
                    fieldInfo.FieldType,
                    settings.IsRequired,
                    Items = fieldInfo.Items ?? new List <FieldItemInfo>()
                });

                if (fieldType == FieldType.SelectMultiple || fieldType == FieldType.CheckBox)
                {
                    values.Append($"{attributeName}: [],");
                }
                else
                {
                    values.Append($"{attributeName}: '',");
                }
            }

            context.StlPageFoot["SS.Form.Parse.Foot." + vueId] = $@"
<script type=""text/javascript"">
Vue.use(VeeValidate);
var {vueId} = new Vue({{
    el: '#{vueId}',
    data: {{
        title: {Utils.JsonSerialize(formInfo.Title)},
        description: {Utils.JsonSerialize(formInfo.Description)},
        isEnabled: {(formInfo.IsTimeout ? $"new Date() > new Date('{formInfo.TimeToStart:yyyy-MM-dd HH:mm}') && new Date() < new Date('{formInfo.TimeToEnd:yyyy-MM-dd HH:mm}')" : true.ToString().ToLower())},
        isCaptcha: {formSettings.IsCaptcha.ToString().ToLower()},
        attributes: {{{values.ToString().Trim()}}},
        code: '',
        imgUrl: '',
        isSuccess: false,
        errorMessage: '',
        schemas: {Utils.JsonSerialize(schemas)}
    }},
    methods: {{
        load: function (event) {{
            this.imgUrl = '{imgUrl}?' + new Date().getTime();
        }},
        submit: function (event) {{
            this.errorMessage = '';
            var $this = this;
            var data = {{
                code: this.code,
                attributes: this.attributes
            }};
          
            this.$validator.validateAll().then(function (result) {{
                if (result) {{
                    $.ajax({{
                        url : ""{apiUrlSubmit}"",
                        xhrFields: {{
                            withCredentials: true
                        }},
                        type: ""POST"",
                        data: JSON.stringify(data),
                        contentType: ""application/json; charset=utf-8"",
                        dataType: ""json"",
                        success: function(data)
                        {{
                            $this.isSuccess = true;
                        }},
                        error: function (err)
                        {{
                            var err = JSON.parse(err.responseText);
                            $this.isSuccess = false;
                            $this.errorMessage = err.message;
                        }}
                    }});
                }}
            }});
        }}
    }}
}});
{vueId}.load();
</script>";
        }
Example #7
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack)
            {
                return;
            }

            //删除样式
            if (!string.IsNullOrEmpty(Request.QueryString["delete"]))
            {
                var fieldId = Convert.ToInt32(Request.QueryString["fieldId"]);
                Main.Instance.FieldDao.Delete(fieldId);
                LtlMessage.Text = Utils.GetMessageHtml("字段删除成功!", true);
            }
            if (!string.IsNullOrEmpty(Request.QueryString["taxis"]))
            {
                var fieldId   = Convert.ToInt32(Request.QueryString["fieldId"]);
                var direction = Request.QueryString["direction"];

                switch (direction.ToUpper())
                {
                case "UP":
                    Main.Instance.FieldDao.TaxisUp(fieldId);
                    break;

                case "DOWN":
                    Main.Instance.FieldDao.TaxisDown(fieldId);
                    break;
                }
                LtlMessage.Text = Utils.GetMessageHtml("排序成功!", true);
            }

            var fieldList = Main.Instance.FieldDao.GetFieldInfoList(FormInfo.Id, false);

            DgContents.DataSource     = fieldList;
            DgContents.ItemDataBound += DgContents_ItemDataBound;
            DgContents.DataBind();

            //BtnReturn.Attributes.Add("onclick",
            //    $"location.href='{PageManagement.GetRedirectUrl(_siteId)}';return false;");
            BtnAddField.Attributes.Add("onclick",
                                       $"location.href = '{PageFieldsUrl}&addField={true}';return false;");

            if (!string.IsNullOrEmpty(Request.QueryString["addField"]))
            {
                PhModalAdd.Visible = true;
                var fieldId   = Convert.ToInt32(Request.QueryString["fieldId"]);
                var fieldInfo = fieldId > 0 ? Main.Instance.FieldDao.GetFieldInfo(fieldId, true) : new FieldInfo();

                LtlModalAddTitle.Text = fieldId > 0 ? "编辑字段" : "新增字段";
                LtlScript.Text        = @"<script>
setTimeout(function() {
    $('#modalAdd').modal();
}, 100);
</script>";

                FieldTypeUtils.AddListItems(DdlFieldType);

                DdlIsRapid.SelectedValue = fieldInfo.Id != 0 ? false.ToString() : true.ToString();

                TbTitle.Text       = fieldInfo.Title;
                TbDescription.Text = fieldInfo.Description;
                TbPlaceHolder.Text = fieldInfo.PlaceHolder;
                Utils.SelectSingleItem(DdlFieldType, fieldInfo.FieldType);

                TbItemCount.Text = fieldInfo.Items.Count.ToString();

                RptItems.DataSource     = GetDataSource(fieldInfo.Items.Count, fieldInfo.Items);
                RptItems.ItemDataBound += RptItems_ItemDataBound;
                RptItems.DataBind();

                var isSelected = false;
                var isExtras   = false;
                var list       = new List <string>();
                foreach (var item in fieldInfo.Items)
                {
                    list.Add(item.Value);
                    if (item.IsSelected)
                    {
                        isSelected = true;
                    }
                    if (item.IsExtras)
                    {
                        isExtras = true;
                    }
                }

                DdlIsRapid.SelectedValue = (!isSelected && !isExtras).ToString();
                TbRapidValues.Text       = string.Join(",", list);

                ReFresh(null, EventArgs.Empty);
            }
            else if (!string.IsNullOrEmpty(Request.QueryString["validateField"]))
            {
                PhModalValidate.Visible = true;
                var fieldId   = Convert.ToInt32(Request.QueryString["fieldId"]);
                var fieldInfo = Main.Instance.FieldDao.GetFieldInfo(fieldId, false);

                LtlScript.Text = @"<script>
setTimeout(function() {
    $('#modalValidate').modal();
}, 100);
</script>";

                var settings = new FieldSettings(fieldInfo.Settings);
                Utils.SelectSingleItem(DdlIsRequired, settings.IsRequired.ToString());

                if (Utils.EqualsIgnoreCase(fieldInfo.FieldType, nameof(FieldType.Text)) || Utils.EqualsIgnoreCase(fieldInfo.FieldType, nameof(FieldType.TextArea)))
                {
                    PhNum.Visible = PhValidateType.Visible = true;
                }
                else
                {
                    PhNum.Visible = PhValidateType.Visible = false;
                }

                TbMinNum.Text = settings.MinNum.ToString();
                TbMaxNum.Text = settings.MaxNum.ToString();

                ValidateTypeUtils.AddListItems(DdlValidateType);
                Utils.SelectSingleItem(DdlValidateType, settings.ValidateType.Value);
            }

            //var redirectUrl = GetRedirectUrl(SiteId, _tableStyle, _tableName, _relatedIdentity, _itemId);

            //btnAddStyle.Attributes.Add("onclick", ModalTableStyleAdd.GetOpenWindowString(SiteId, 0, _relatedIdentities, _tableName, string.Empty, _tableStyle, redirectUrl));
            //btnAddStyles.Attributes.Add("onclick", ModalTableStylesAdd.GetOpenWindowString(SiteId, _relatedIdentities, _tableName, _tableStyle, redirectUrl));

            //btnImport.Attributes.Add("onclick", ModalTableStyleImport.GetOpenWindowString(_tableName, _tableStyle, SiteId, _relatedIdentity));
            //btnExport.Attributes.Add("onclick", ModalExportMessage.GetOpenWindowStringToSingleTableStyle(_tableStyle, _tableName, SiteId, _relatedIdentity));
        }