public UserLogic(string file) { DataBaseFile = file; InitError = InitErrors.None; try { string text_file = File.ReadAllText(DataBaseFile); data_base = JsonConvert.DeserializeObject <DataBase>(text_file); //new DataBase(DataBaseFile); } catch (FileNotFoundException) { InitError = InitErrors.FileExistError; } catch (FormatException) { InitError = InitErrors.FileFormatError; } catch (Exception) { InitError = InitErrors.FileFormatError; } finally { if (data_base == null) { data_base = new DataBase(); } } }
public override bool Initialize() { #if UNITY_INPUT_SYSTEM //InputLayoutLoader.RegisterInputLayouts(); #endif //this only works at the right time in editor. In builds we use a different method (reading the asset manually) #if UNITY_EDITOR Settings settings = Settings.GetSettings(); if (settings != null) { UserDefinedSettings userDefinedSettings; userDefinedSettings.stereoRenderingMode = (ushort)settings.GetStereoRenderingMode(); userDefinedSettings.mirrorViewMode = (ushort)settings.GetMirrorViewMode(); userDefinedSettings.rotateEyes = (ushort)(settings.RotateEyes); SetUserDefinedSettings(userDefinedSettings); } #else NotifyInBuild(); #endif CreateSubsystem <XRDisplaySubsystemDescriptor, XRDisplaySubsystem>(s_DisplaySubsystemDescriptors, PluginMetadata.DisplayProviderName); InitErrors result = GetInitializationResult(); if (result != InitErrors.None) { DestroySubsystem <XRDisplaySubsystem>(); Debug.LogError(PluginMetadata.DebugLogPrefix + "Could not initialize. Error code: " + result.ToString()); return(false); } CreateSubsystem <XRInputSubsystemDescriptor, XRInputSubsystem>(s_InputSubsystemDescriptors, PluginMetadata.InputProviderName); Settings.GameViewOptions gameView = Settings.GetSettings().RenderGameView; // This line turns off rendering to the default game view, if desired. // See also Settings.SetGameView to change during runtime displaySubsystem.disableLegacyRenderer = (gameView == Settings.GameViewOptions.Disable); // OpenVREvents.Initialize(); // TickCallbackDelegate callback = TickCallback; // RegisterTickCallback(callback); // callback(0); Debug.Log(PluginMetadata.DebugLogPrefix + "Runtime loader initialized"); return(displaySubsystem != null && inputSubsystem != null); }
public bool InitField(TagHelperContext context, TagHelperOutput output) { var isSuccess = true; #region << Init >> if (FieldId == null) { FieldId = Guid.NewGuid(); } if (String.IsNullOrWhiteSpace(ApiUrl) && Mode == FieldRenderMode.InlineEdit && (RecordId == null || String.IsNullOrWhiteSpace(EntityName))) { InitErrors.Add("In 'inlineEdit' when 'api-url' is not defined, entityName and recordId are required!"); } if (LabelMode == LabelRenderMode.Undefined) { //Check if it is defined in form group if (context.Items.ContainsKey(typeof(LabelRenderMode))) { LabelMode = (LabelRenderMode)context.Items[typeof(LabelRenderMode)]; } else { LabelMode = LabelRenderMode.Stacked; } } if (Mode == FieldRenderMode.Undefined) { //Check if it is defined in form group if (context.Items.ContainsKey(typeof(FieldRenderMode))) { Mode = (FieldRenderMode)context.Items[typeof(FieldRenderMode)]; } else { Mode = FieldRenderMode.Form; } } if (!String.IsNullOrWhiteSpace(Locale)) { Culture = new CultureInfo(Locale); } if (String.IsNullOrWhiteSpace(Name) && (Mode == FieldRenderMode.Form || Mode == FieldRenderMode.InlineEdit) && context.TagName != "wv-field-plaintext") { InitErrors.Add("In InlineEdit or Form the attribute 'name' is required"); } if (ValidationErrors.Count > 0) { ValidationErrors = ValidationErrors.FindAll(x => x.PropertyName == Name.ToLowerInvariant()).ToList(); } if (ValidationErrors.Count == 0) { //Check if it is defined in form group if (context.Items.ContainsKey(typeof(ValidationException))) { var validation = (ValidationException)context.Items[typeof(ValidationException)]; if (validation != null & validation.Errors.Count > 0) { ValidationErrors = validation.Errors.FindAll(x => x.PropertyName == Name.ToLowerInvariant()); } } } if (AutoComplete == null) { if (context.Items.ContainsKey("FromAutocomplete")) { AutoComplete = (bool)context.Items["FromAutocomplete"]; } } #region << Init Value >> var tagName = context.TagName; var errorList = new List <string>(); FieldType?fieldType = FieldType.TextField; switch (context.TagName) { case "wv-field-autonumber": fieldType = FieldType.AutoNumberField; break; case "wv-field-checkbox": fieldType = FieldType.CheckboxField; break; case "wv-field-checkbox-grid": { fieldType = FieldType.TextField; } break; case "wv-field-currency": fieldType = FieldType.CurrencyField; break; case "wv-field-date": fieldType = FieldType.DateField; break; case "wv-field-datetime": case "wv-field-time": fieldType = FieldType.DateTimeField; break; case "wv-field-email": fieldType = FieldType.EmailField; break; case "wv-field-file": fieldType = FieldType.FileField; break; case "wv-field-html": fieldType = FieldType.HtmlField; break; case "wv-field-image": fieldType = FieldType.ImageField; break; case "wv-field-textarea": fieldType = FieldType.MultiLineTextField; break; case "wv-field-multiselect": case "wv-field-checkbox-list": fieldType = FieldType.MultiSelectField; if (Value is List <string> ) { } else if (Value is List <SelectOption> ) { var newListString = new List <string>(); foreach (var option in (List <SelectOption>)Value) { newListString.Add(option.Value); } Value = newListString; } else { throw new Exception("Expected multiselect value is List<string> or List<SelectOption>"); } break; case "wv-field-number": fieldType = FieldType.NumberField; break; case "wv-field-password": fieldType = FieldType.PasswordField; break; case "wv-field-percent": fieldType = FieldType.PercentField; break; case "wv-field-phone": fieldType = FieldType.PhoneField; break; case "wv-field-guid": fieldType = FieldType.GuidField; break; case "wv-field-select": fieldType = FieldType.SelectField; break; case "wv-field-text": fieldType = FieldType.TextField; break; case "wv-field-url": fieldType = FieldType.UrlField; break; default: fieldType = null; break; } dynamic valueResult = null; DataUtils.ValidateValueToFieldType(fieldType, Value, out valueResult, out errorList); Value = valueResult; dynamic defaultValueResult = null; DataUtils.ValidateValueToFieldType(fieldType, DefaultValue, out defaultValueResult, out errorList); DefaultValue = defaultValueResult; if (errorList.Count > 0) { foreach (var error in errorList) { InitErrors.Add(error); } } #endregion #endregion #region << Render Field Group / Output tag >> output.TagName = "div"; if (!String.IsNullOrWhiteSpace(Class)) { CssClassList.Add(Class); } CssClassList.Add("form-group"); CssClassList.Add("erp-field"); if (LabelMode == LabelRenderMode.Horizontal) { CssClassList.Add("label-horizontal"); } if (!String.IsNullOrWhiteSpace(Id)) { output.Attributes.Add("id", Id); } switch (LabelMode) { case LabelRenderMode.Hidden: CssClassList.Add("label-hidden"); break; case LabelRenderMode.Horizontal: CssClassList.Add("row no-gutters"); break; } switch (Mode) { case FieldRenderMode.Display: CssClassList.Add("display"); break; case FieldRenderMode.Form: CssClassList.Add("form"); break; case FieldRenderMode.InlineEdit: CssClassList.Add("inline-edit"); break; case FieldRenderMode.Simple: CssClassList.Add("list"); break; } output.Attributes.SetAttribute("class", String.Join(' ', CssClassList)); #endregion #region << Render Label >> if (LabelMode != LabelRenderMode.Hidden) { var labelEl = new TagBuilder("label"); //Set label attributes if (FieldId != null) { labelEl.Attributes.Add("for", "input-" + FieldId); } if (LabelMode == LabelRenderMode.Horizontal) { labelEl.Attributes.Add("class", "col-12 col-sm-auto col-form-label label-horizontal pr-0 pr-sm-2"); } else { labelEl.Attributes.Add("class", "control-label label-stacked"); } //Set Required if (Required && Mode == FieldRenderMode.Form) { var requiredEl = new TagBuilder("abbr"); requiredEl.MergeAttribute("class", "go-red"); requiredEl.MergeAttribute("title", "required"); requiredEl.InnerHtml.Append("*"); labelEl.InnerHtml.AppendHtml(requiredEl); } //Set Label text if (LabelMode != LabelRenderMode.Horizontal) { labelEl.InnerHtml.AppendHtml(LabelText); } else { labelEl.InnerHtml.AppendHtml(LabelText + ":"); } //Set Help if (!String.IsNullOrWhiteSpace(LabelHelpText)) { var helpEl = new TagBuilder("i"); helpEl.MergeAttribute("class", "fa fa-fw fa-question-circle field-help"); helpEl.MergeAttribute("data-toggle", "tooltip"); helpEl.MergeAttribute("data-placement", "top"); helpEl.MergeAttribute("data-html", "true"); helpEl.MergeAttribute("id", "help-message-" + FieldId); helpEl.MergeAttribute("title", LabelHelpText); labelEl.InnerHtml.AppendHtml(helpEl); var scriptEl = new TagBuilder("script"); var script = $"$(function () {{$('#help-message-{FieldId}').tooltip();}})"; scriptEl.InnerHtml.AppendHtml(script); labelEl.InnerHtml.AppendHtml(scriptEl); } ; //Set Warning if (!String.IsNullOrWhiteSpace(LabelWarningText)) { var helpEl = new TagBuilder("i"); helpEl.MergeAttribute("class", "fa fa-fw fa-exclamation-triangle field-warning-message"); helpEl.MergeAttribute("data-toggle", "tooltip"); helpEl.MergeAttribute("data-placement", "top"); helpEl.MergeAttribute("data-html", "true"); helpEl.MergeAttribute("id", "warning-message-" + FieldId); helpEl.MergeAttribute("data-delay", "{ \"show\": 100, \"hide\": 3000 }"); helpEl.MergeAttribute("title", LabelWarningText); labelEl.InnerHtml.AppendHtml(helpEl); var scriptEl = new TagBuilder("script"); var script = $"$(function () {{$('#warning-message-{FieldId}').tooltip();}})"; scriptEl.InnerHtml.AppendHtml(script); labelEl.InnerHtml.AppendHtml(scriptEl); } ; //Set Error if (!String.IsNullOrWhiteSpace(LabelErrorText)) { var helpEl = new TagBuilder("i"); helpEl.MergeAttribute("class", "fa fa-fw fa-exclamation-circle field-error-message"); helpEl.MergeAttribute("data-toggle", "tooltip"); helpEl.MergeAttribute("data-placement", "top"); helpEl.MergeAttribute("data-html", "true"); helpEl.MergeAttribute("id", "error-message-" + FieldId); helpEl.MergeAttribute("data-delay", "{ \"show\": 100, \"hide\": 3000 }"); helpEl.MergeAttribute("title", LabelErrorText); labelEl.InnerHtml.AppendHtml(helpEl); var scriptEl = new TagBuilder("script"); var script = $"$(function () {{$('#error-message-{FieldId}').tooltip();}})"; scriptEl.InnerHtml.AppendHtml(script); labelEl.InnerHtml.AppendHtml(scriptEl); } ; output.PreContent.AppendHtml(labelEl); } #endregion #region << Field Outer Wrapper tag - StartTag >> var fieldWrapper = new TagBuilder("div"); fieldWrapper.AddCssClass("col"); if (LabelMode == LabelRenderMode.Horizontal) { output.PreContent.AppendHtml(fieldWrapper.RenderStartTag()); } #endregion #region << if Init Errors >> if (InitErrors.Count > 0) { var errorListEl = new TagBuilder("ul"); errorListEl.AddCssClass("erp-error-list list-unstyled"); foreach (var error in InitErrors) { var errorEl = new TagBuilder("li"); errorEl.AddCssClass("go-red"); var iconEl = new TagBuilder("span"); iconEl.AddCssClass("fa fa-fw fa-exclamation"); errorEl.InnerHtml.AppendHtml(iconEl); errorEl.InnerHtml.Append($"Error: {error}"); errorListEl.InnerHtml.AppendHtml(errorEl); } output.PostContent.AppendHtml(errorListEl); return(false); } #endregion #region << if Forbidden >> if (Access == FieldAccess.Forbidden) { if (Mode != FieldRenderMode.Simple) { var forbiddenEl = new TagBuilder("div"); forbiddenEl.AddCssClass("form-control-plaintext"); var innerSpan = new TagBuilder("span"); innerSpan.AddCssClass("go-gray"); var innerIcon = new TagBuilder("span"); innerIcon.AddCssClass("fa fa-lock mr-1"); var innerEm = new TagBuilder("em"); innerEm.InnerHtml.Append(AccessDeniedMessage); innerSpan.InnerHtml.AppendHtml(innerIcon); innerSpan.InnerHtml.AppendHtml(innerEm); forbiddenEl.InnerHtml.AppendHtml(innerSpan); output.PostContent.AppendHtml(forbiddenEl); return(false); } else { var innerSpan = new TagBuilder("span"); innerSpan.AddCssClass("go-gray"); var innerIcon = new TagBuilder("span"); innerIcon.AddCssClass("fa fa-lock mr-1"); var innerEm = new TagBuilder("em"); innerEm.InnerHtml.Append(AccessDeniedMessage); innerSpan.InnerHtml.AppendHtml(innerIcon); innerSpan.InnerHtml.AppendHtml(innerEm); output.SuppressOutput(); output.PostContent.AppendHtml(innerSpan); return(false); } } #endregion #region << Field Outer Wrapper tag - End Tag >> if (LabelMode == LabelRenderMode.Horizontal) { output.PostContent.AppendHtml(fieldWrapper.RenderEndTag()); } #endregion #region << Init SubInputEl >> if (ValidationErrors.Count == 1) { SubInputEl = new TagBuilder("div"); SubInputEl.AddCssClass("invalid-feedback d-block"); SubInputEl.InnerHtml.AppendHtml(ValidationErrors.First().Message); } else if (ValidationErrors.Count > 1) { SubInputEl = new TagBuilder("div"); SubInputEl.AddCssClass("invalid-feedback d-block"); var errorListEl = new TagBuilder("ul"); foreach (var error in ValidationErrors) { var errorEl = new TagBuilder("li"); errorEl.InnerHtml.AppendHtml(error.Message); errorListEl.InnerHtml.AppendHtml(errorEl); } SubInputEl.InnerHtml.AppendHtml(errorListEl); } else if (!String.IsNullOrWhiteSpace(Description)) { SubInputEl = new TagBuilder("div"); SubInputEl.AddCssClass("field-description form-text text-muted"); SubInputEl.InnerHtml.AppendHtml(Description); } #endregion #region << Init EmptyValEl>> { EmptyValEl = new TagBuilder("div"); EmptyValEl.AddCssClass("form-control-plaintext"); var innerSpan = new TagBuilder("span"); innerSpan.AddCssClass("go-gray"); var innerEm = new TagBuilder("em"); innerEm.InnerHtml.Append(EmptyValueMessage); innerSpan.InnerHtml.AppendHtml(innerEm); EmptyValEl.InnerHtml.AppendHtml(innerSpan); } #endregion return(isSuccess); }
public bool InitFilter(TagHelperContext context, TagHelperOutput output) { var isSuccess = true; #region << Init Props >> if (String.IsNullOrWhiteSpace(Name)) { InitErrors.Add("Name attribute is required for wv-filter TagHelper!"); } UrlQueryOfType = $"{Prefix}q_{Name}_t"; UrlQueryOfValue = $"{Prefix}q_{Name}_v"; UrlQueryOfValue2 = $"{Prefix}q_{Name}_v2"; if (FilterId == Guid.Empty) { FilterId = Guid.NewGuid(); } #endregion #region << Init Values >> #region << Preinit from URL - type,value,value2 >> var urlQueryDict = ViewContext.HttpContext.Request.Query; if (urlQueryDict.ContainsKey(UrlQueryOfType)) { if (Enum.TryParse(urlQueryDict[UrlQueryOfType], out FilterType result)) { QueryType = result; } } if (urlQueryDict.ContainsKey(UrlQueryOfValue)) { Value = (string)urlQueryDict[UrlQueryOfValue]; } if (urlQueryDict.ContainsKey(UrlQueryOfValue2)) { Value2 = (string)urlQueryDict[UrlQueryOfValue2]; } #endregion #region << Convert to proper type = value, value2 >> var tagName = context.TagName; dynamic valueResult = null; dynamic value2Result = null; var errorList = new List <string>(); var error2List = new List <string>(); var fieldType = FieldType.TextField; switch (context.TagName) { case "wv-filter-autonumber": fieldType = FieldType.AutoNumberField; break; case "wv-filter-checkbox": fieldType = FieldType.CheckboxField; break; case "wv-filter-currency": fieldType = FieldType.CurrencyField; break; case "wv-filter-date": fieldType = FieldType.DateField; break; case "wv-filter-datetime": fieldType = FieldType.DateTimeField; break; case "wv-filter-email": fieldType = FieldType.EmailField; break; case "wv-filter-file": fieldType = FieldType.FileField; break; case "wv-filter-guid": fieldType = FieldType.GuidField; break; case "wv-filter-html": fieldType = FieldType.HtmlField; break; case "wv-filter-image": fieldType = FieldType.ImageField; break; case "wv-filter-textarea": fieldType = FieldType.MultiLineTextField; break; case "wv-filter-multiselect": fieldType = FieldType.MultiSelectField; break; case "wv-filter-number": fieldType = FieldType.NumberField; break; case "wv-filter-percent": fieldType = FieldType.NumberField; break; case "wv-filter-phone": fieldType = FieldType.PhoneField; break; case "wv-filter-select": fieldType = FieldType.SelectField; break; case "wv-filter-url": fieldType = FieldType.UrlField; break; default: fieldType = FieldType.TextField; break; } DataUtils.ValidateValueToFieldType(fieldType, Value, out valueResult, out errorList); Value = valueResult; if (errorList.Count > 0) { Value = null; } DataUtils.ValidateValueToFieldType(fieldType, Value2, out value2Result, out error2List); Value2 = value2Result; if (error2List.Count > 0) { foreach (var error in error2List) { InitErrors.Add(error); } } if (QueryOptions == null) { QueryOptions = new List <FilterType>(); } if (QueryOptions.Count == 0) { QueryOptions = DataUtils.GetFilterTypesForFieldType(fieldType); } if (QueryType == FilterType.Undefined) { //If options has EQ selected if (QueryOptions.Any(x => x == FilterType.EQ)) { QueryType = FilterType.EQ; } //If not select the first in the options else if (QueryOptions.Any()) { QueryType = QueryOptions.First(); } } #endregion #region << Render >> output.TagName = "div"; output.AddCssClass("erp-field form-group erp-filter"); output.Attributes.Add("id", $"erp-filter-{FilterId}"); output.Attributes.Add("data-name", $"{Name}"); output.Attributes.Add("data-prefix", $"{Prefix}"); output.Attributes.Add("data-filter-id", $"{FilterId}"); var labelEl = new TagBuilder("label"); labelEl.AddCssClass("control-label"); if (!String.IsNullOrWhiteSpace(Label)) { labelEl.InnerHtml.AppendHtml(Label); } else { labelEl.InnerHtml.AppendHtml(Name); } var clearLink = new TagBuilder("a"); clearLink.AddCssClass("clear-filter action"); clearLink.Attributes.Add("href", "javascript:void(0)"); clearLink.InnerHtml.Append("clear"); if ((Value == null || Value.ToString() == "") && (Value2 == null || Value2.ToString() == "")) { clearLink.AddCssClass("d-none"); } labelEl.InnerHtml.AppendHtml(clearLink); output.PreContent.AppendHtml(labelEl); #region << if Init Errors >> if (InitErrors.Count > 0) { var errorListEl = new TagBuilder("ul"); errorListEl.AddCssClass("erp-error-list list-unstyled"); foreach (var error in InitErrors) { var errorEl = new TagBuilder("li"); errorEl.AddCssClass("go-red"); var iconEl = new TagBuilder("span"); iconEl.AddCssClass("fa fa-fw fa-exclamation"); errorEl.InnerHtml.AppendHtml(iconEl); errorEl.InnerHtml.Append($"Error: {error}"); errorListEl.InnerHtml.AppendHtml(errorEl); } output.PostContent.AppendHtml(errorListEl); return(false); } #endregion #endregion #endregion #region << Query Type Select >> if (QueryOptions.Count > 1) { FilterTypeSelect = new TagBuilder("select"); FilterTypeSelect.AddCssClass("form-control erp-filter-rule"); FilterTypeSelect.Attributes.Add("name", $"{UrlQueryOfType}"); foreach (var typeOption in QueryOptions) { var optionEl = new TagBuilder("option"); optionEl.Attributes.Add("value", typeOption.ToString()); optionEl.InnerHtml.Append(typeOption.GetLabel()); if (QueryType == typeOption) { optionEl.Attributes.Add("selected", null); } FilterTypeSelect.InnerHtml.AppendHtml(optionEl); } } else { //If 1 FilterTypeSelect = new TagBuilder("span"); FilterTypeSelect.AddCssClass($"input-group-prepend erp-filter-rule"); var prependText = new TagBuilder("span"); prependText.AddCssClass("input-group-text"); prependText.InnerHtml.AppendHtml(QueryOptions.First().GetLabel()); FilterTypeSelect.InnerHtml.AppendHtml(prependText); var hiddenInput = new TagBuilder("input"); hiddenInput.Attributes.Add("type", "hidden"); hiddenInput.Attributes.Add("value", QueryOptions.First().ToString()); hiddenInput.Attributes.Add("name", $"{UrlQueryOfType}"); FilterTypeSelect.InnerHtml.AppendHtml(hiddenInput); } #endregion #region << ValueTextControl >> { ValueTextControl = new TagBuilder("input"); ValueTextControl.AddCssClass("form-control value"); if (QueryType != FilterType.BETWEEN && QueryType != FilterType.NOTBETWEEN) { ValueTextControl.AddCssClass("rounded-right"); } ValueTextControl.Attributes.Add("value", (Value ?? "").ToString()); ValueTextControl.Attributes.Add("type", "text"); ValueTextControl.Attributes.Add("name", UrlQueryOfValue); } #endregion #region << ValueNumberControl >> { ValueNumberControl = new TagBuilder("input"); ValueNumberControl.AddCssClass("form-control value"); if (QueryType != FilterType.BETWEEN && QueryType != FilterType.NOTBETWEEN) { ValueNumberControl.AddCssClass("rounded-right"); } ValueNumberControl.Attributes.Add("value", (Value ?? "").ToString()); ValueNumberControl.Attributes.Add("type", "number"); ValueNumberControl.Attributes.Add("name", UrlQueryOfValue); } #endregion #region << Value2NumberControl >> { Value2NumberControl = new TagBuilder("input"); Value2NumberControl.Attributes.Add("value", (Value2 ?? "").ToString()); Value2NumberControl.AddCssClass("form-control value2"); Value2NumberControl.Attributes.Add("type", "number"); if (QueryType == FilterType.BETWEEN || QueryType == FilterType.NOTBETWEEN) { Value2NumberControl.Attributes.Add("name", UrlQueryOfValue2); } else { Value2NumberControl.AddCssClass("d-none"); } } #endregion #region << AndDivider >> { AndDivider = new TagBuilder("span"); AndDivider.AddCssClass($"input-group-prepend input-group-append erp-filter-divider"); if (QueryType != FilterType.BETWEEN && QueryType != FilterType.NOTBETWEEN) { AndDivider.AddCssClass("d-none"); } var prependText = new TagBuilder("span"); prependText.AddCssClass("input-group-text divider"); prependText.InnerHtml.Append("&"); AndDivider.InnerHtml.AppendHtml(prependText); } #endregion var jsCompressor = new JavaScriptCompressor(); #region << Init Scripts >> var tagHelperInitialized = false; if (ViewContext.HttpContext.Items.ContainsKey(typeof(WvFilterBase) + "-base")) { var tagHelperContext = (WvTagHelperContext)ViewContext.HttpContext.Items[typeof(WvFilterBase) + "-base"]; tagHelperInitialized = tagHelperContext.Initialized; } if (!tagHelperInitialized) { var scriptContent = FileService.GetEmbeddedTextResource("base.js", "WebVella.Erp.Web.TagHelpers.WvFilterBase"); var scriptEl = new TagBuilder("script"); scriptEl.Attributes.Add("type", "text/javascript"); scriptEl.InnerHtml.AppendHtml(jsCompressor.Compress(scriptContent)); output.PostContent.AppendHtml(scriptEl); ViewContext.HttpContext.Items[typeof(WvFilterBase) + "-base"] = new WvTagHelperContext() { Initialized = true }; } #endregion #region << Add Inline Init Script for this instance >> var initScript = new TagBuilder("script"); initScript.Attributes.Add("type", "text/javascript"); var scriptTemplate = @" $(function(){ BaseFilterInit(""{{FilterId}}"",""{{Value2InputName}}""); });" ; scriptTemplate = scriptTemplate.Replace("{{FilterId}}", FilterId.ToString()); scriptTemplate = scriptTemplate.Replace("{{Value2InputName}}", UrlQueryOfValue2.ToString()); initScript.InnerHtml.AppendHtml(jsCompressor.Compress(scriptTemplate)); output.PostContent.AppendHtml(initScript); #endregion return(isSuccess); }