示例#1
0
		/// <summary>
		/// 获取模块的编辑表单
		/// </summary>
		/// <param name="widgetInfo">模块信息</param>
		/// <returns></returns>
		public virtual FormBuilder GetWidgetEditForm(TemplateWidgetInfo widgetInfo) {
			var dynamicFormBuilder = new DynamicFormBuilder();
			// 添加模块中的参数
			dynamicFormBuilder.AddFields(widgetInfo.Arguments);
			// 生成表单
			var form = dynamicFormBuilder.ToForm<TabFormBuilder>();
			form.Attribute = new FormAttribute(
				"WidgetEditForm",
				"/api/visual_editor/submit_widget_edit_form?path=" +
				HttpUtils.UrlEncode(widgetInfo.WidgetPath));
			// 添加无参数的提醒
			if (!widgetInfo.Arguments.Any()) {
				form.Fields.Add(new FormField(new TemplateHtmlFieldAttribute(
					"NoArguments", "theme.visualeditor/no_arguments_alert.html")));
			}
			// 添加内嵌css, 前置html, 后置html
			var noLint = JsonConvert.SerializeObject(new { lint = false });
			form.Fields.Add(new FormField(new TextBoxFieldAttribute(
				VisualWidgetRenderer.CssClassKey, "example: col-md-3 my-class") { Group = "AdditionalStyle" }));
			form.Fields.Add(new FormField(new CodeEditorAttribute(
				VisualWidgetRenderer.InlineCssKey, 5, "css", noLint) { Group = "AdditionalStyle" }));
			form.Fields.Add(new FormField(new CodeEditorAttribute(
				VisualWidgetRenderer.BeforeHtmlKey, 8, "html", noLint) { Group = "AdditionalStyle" }));
			form.Fields.Add(new FormField(new CodeEditorAttribute(
				VisualWidgetRenderer.AfterHtmlKey, 8, "html", noLint) { Group = "AdditionalStyle" }));
			return form;
		}
        public void GetCacheIsolationPolicyNames()
        {
            var info = new TemplateWidgetInfo();

            info.CacheBy = "Url,Locale";
            var policyNames = info.GetCacheIsolationPolicyNames();

            Assert.Equals(policyNames.Count, 3);
            Assert.Equals(policyNames[0], "Url");
            Assert.Equals(policyNames[1], "Locale");
            Assert.Equals(policyNames[2], "Device");
        }
示例#3
0
 /// <summary>
 /// 初始化
 /// </summary>
 /// <param name="group">分组名称,可以是翻译前的文本</param>
 /// <param name="widgetInfo">模板模块信息</param>
 public VisualWidgetInfo(string group, TemplateWidgetInfo widgetInfo)
 {
     Group      = group;
     WidgetInfo = widgetInfo;
 }