internal override void RenderElement(RenderContext context, Action <TagBuilder> onRender = null) { if (SkipRender(context)) { return; } var cont = new TagBuilder("tree-view", null, IsInGrid); MergeAttributes(cont, context); var isBind = GetBinding(nameof(ItemsSource)); if (isBind != null) { cont.MergeAttribute(":items", isBind.GetPath(context)); cont.MergeAttribute(":expand", "$expand"); // in BaseController if (Children.Count != 1) { throw new XamlException("Only one TreeViewItem element is allowed for dynamic TreeView"); } var ch = Children[0]; cont.MergeAttribute(":options", GetOptions(context, ch)); } if (AutoSelect != AutoSelectMode.None) { cont.MergeAttribute("auto-select", AutoSelect.ToString().ToKebabCase()); } if (ExpandFirstItem) { cont.MergeAttribute(":expand-first-item", "true"); } cont.RenderStart(context); cont.RenderEnd(context); }
/// <summary> /// Revision 2 constructor /// </summary> /// <param name="channelId">two ASCII characters, range 00-99</param> /// <param name="programId">parameter set ID or Multistage ID, three ASCII characters, range 000-999</param> /// <param name="autoSelect">One ASCII character, /// <para>0=None</para> /// <para>1=Auto Next Change</para> /// <para>2=I/O</para> /// <para>6=Fieldbus</para> /// <para>8=Socket tray</para> /// </param> /// <param name="batchSize">Two ASCII characters, range 00-99</param> /// <param name="maxCoherentNok">Two ASCII characters, range 00-99</param> /// <param name="batchCounter">Two ASCII characters, range 00-99</param> /// <param name="identifierNumber">Four ASCII characters, range 0000-9999 (Socket(s), EndFitting(s)…)</param> /// <param name="jobStepName">25 ASCII characters</param> /// <param name="jobStepType">Two ASCII characters, range 00-99</param> public AdvancedJob(int channelId, int programId, AutoSelect autoSelect, int batchSize, int maxCoherentNok, int batchCounter, int identifierNumber, string jobStepName, int jobStepType) : this(channelId, programId, autoSelect, batchSize, maxCoherentNok, batchCounter) { IdentifierNumber = identifierNumber; JobStepName = jobStepName; JobStepType = jobStepType; }
/// <summary> /// Revision 1 constructor /// </summary> /// <param name="channelId">two ASCII characters, range 00-99</param> /// <param name="programId">parameter set ID or Multistage ID, three ASCII characters, range 000-999</param> /// <param name="autoSelect">One ASCII character, /// <para>0=None</para> /// <para>1=Auto Next Change</para> /// <para>2=I/O</para> /// <para>6=Fieldbus</para> /// <para>8=Socket tray</para> /// </param> /// <param name="batchSize">Two ASCII characters, range 00-99</param> /// <param name="maxCoherentNok">Two ASCII characters, range 00-99</param> public AdvancedJob(int channelId, int programId, AutoSelect autoSelect, int batchSize, int maxCoherentNok) { ChannelId = channelId; ProgramId = programId; AutoSelect = autoSelect; BatchSize = batchSize; MaxCoherentNok = maxCoherentNok; }
public override void RenderElement(RenderContext context, Action <TagBuilder> onRender = null) { if (SkipRender(context)) { return; } var cont = new TagBuilder("tree-view", null, IsInGrid); MergeAttributes(cont, context); if (Height != null) { cont.MergeStyle("height", Height.Value); } if (Style != TreeViewStyle.Normal) { cont.AddCssClass($"tree-view-{Style.ToString().ToKebabCase()}"); } if (Indent != null && Indent.Value == false) { cont.AddCssClass("no-indent"); } var isBind = GetBinding(nameof(ItemsSource)); if (isBind != null) { cont.MergeAttribute(":items", isBind.GetPath(context)); cont.MergeAttribute(":expand", "$expand"); // in BaseController if (Children.Count != 1) { throw new XamlException("Only one TreeViewItem element is allowed for dynamic TreeView"); } var ch = Children[0]; cont.MergeAttribute(":options", GetOptions(context, ch)); } if (AutoSelect != AutoSelectMode.None) { cont.MergeAttribute("auto-select", AutoSelect.ToString().ToKebabCase()); } if (ExpandFirstItem) { cont.MergeAttribute(":expand-first-item", "true"); } var dblClickBind = GetBindingCommand(nameof(DoubleClick)); if (dblClickBind != null) { // Function! cont.MergeAttribute(":doubleclick", "() => " + dblClickBind.GetCommand(context)); } cont.RenderStart(context); cont.RenderEnd(context); }
internal override void RenderElement(RenderContext context, Action <TagBuilder> onRender = null) { if (SkipRender(context)) { return; } var ul = new TagBuilder("a2-list", null, IsInGrid); onRender?.Invoke(ul); var isBind = GetBinding(nameof(ItemsSource)); ul.AddCssClassBool(Striped, "striped"); ul.AddCssClassBool(Border, "border"); if (Select != null) { ul.MergeAttribute(":selectable", Select.Value.ToString().ToLowerInvariant()); } ul.AddCssClass(Style.ToString().ToKebabCase()); //ul.MergeAttribute(":command", "()=> $navigate()"); if (Background != BackgroundStyle.None) { ul.AddCssClass("background-" + Background.ToString().ToKebabCase()); } var mbind = GetBinding(nameof(Mark)); if (mbind != null) { ul.MergeAttribute("mark", mbind.GetPath(context)); } else if (Mark != null) { throw new XamlException("The Mark property must be a binding"); } if (isBind != null) { ul.MergeAttribute(":items-source", isBind.GetPath(context)); ul.MergeAttribute("v-lazy", isBind.GetPath(context)); } MergeAttributes(ul, context); if (Height != null) { ul.MergeStyle("height", Height.Value); } if (AutoSelect != AutoSelectMode.None) { ul.MergeAttribute("auto-select", AutoSelect.ToString().ToKebabCase()); } ul.RenderStart(context); RenderBody(context, isBind != null); ul.RenderEnd(context); }
/// <summary> /// Revision 3 constructor /// </summary> /// <param name="channelId">two ASCII characters, range 00-99</param> /// <param name="programId">parameter set ID or Multistage ID, three ASCII characters, range 000-999</param> /// <param name="autoSelect">One ASCII character, /// <para>0=None</para> /// <para>1=Auto Next Change</para> /// <para>2=I/O</para> /// <para>6=Fieldbus</para> /// <para>8=Socket tray</para> /// </param> /// <param name="batchSize">Two ASCII characters, range 00-99</param> /// <param name="maxCoherentNok">Two ASCII characters, range 00-99</param> /// <param name="batchCounter">Two ASCII characters, range 00-99</param> /// <param name="identifierNumber">Four ASCII characters, range 0000-9999 (Socket(s), EndFitting(s)…)</param> /// <param name="jobStepName">25 ASCII characters</param> /// <param name="jobStepType">Two ASCII characters, range 00-99</param> /// <param name="toolLoosening">1 ASCII character. /// <para>0=Enable</para> /// <para>1=Disable</para> /// <para>2=Enable only on NOK tightening</para> /// </param> /// <param name="jobBatchMode">1 ASCII character. /// <para>0=only the OK tightenings are counted</para> /// <para>1=both the OK and NOK tightenings are counted</para> /// </param> /// <param name="batchStatusAtIncrement">1 ASCII character. Batch status after performing an increment or a bypass parameter set: /// <para>0=OK</para> /// <para>1=NOK</para> /// </param> /// <param name="decrementBatchAfterLoosening">1 ASCII character. /// <para>0=Never</para> /// <para>1=Always</para> /// <para>2=After OK</para> /// </param> /// <param name="currentBatchStatus">1 ASCII character: /// <para>0=Not started</para> /// <para>1=OK</para> /// <para>2=NOK</para> /// </param> public AdvancedJob(int channelId, int programId, AutoSelect autoSelect, int batchSize, int maxCoherentNok, int batchCounter, int identifierNumber, string jobStepName, int jobStepType, ToolLoosening toolLoosening, BatchMode jobBatchMode, BatchStatusAtIncrement batchStatusAtIncrement, DecrementBatchAfterLoosening decrementBatchAfterLoosening, CurrentBatchStatus currentBatchStatus) : this(channelId, programId, autoSelect, batchSize, maxCoherentNok, batchCounter, identifierNumber, jobStepName, jobStepType) { ToolLoosening = toolLoosening; JobBatchMode = jobBatchMode; BatchStatusAtIncrement = batchStatusAtIncrement; DecrementBatchAfterLoosening = decrementBatchAfterLoosening; CurrentBatchStatus = currentBatchStatus; }
public override void RenderElement(RenderContext context, Action <TagBuilder> onRender = null) { if (SkipRender(context)) { return; } var dataGrid = new TagBuilder("data-grid", null, IsInGrid); onRender?.Invoke(dataGrid); MergeBindingAttributeBool(dataGrid, context, ":compact", nameof(Compact), Compact); MergeAttributes(dataGrid, context, MergeAttrMode.Margin | MergeAttrMode.Visibility); dataGrid.MergeAttribute("key", Guid.NewGuid().ToString()); // disable vue reusing if (Height != null) { dataGrid.MergeStyle("height", Height.Value); } if (FixedHeader) { dataGrid.MergeAttribute(":fixed-header", "true"); } if (HeadersVisibility == HeadersVisibility.None) { dataGrid.MergeAttribute(":hide-header", "true"); } if (Style != DataGridStyle.Default) { dataGrid.AddCssClass($"data-grid-{Style.ToString().ToKebabCase()}"); } if (Background != BackgroundStyle.Default) { dataGrid.AddCssClass("background-" + Background.ToString().ToKebabCase()); } if (RowDetails != null) { dataGrid.MergeAttribute(":row-details", "true"); dataGrid.MergeAttribute("row-details-activate", RowDetails.Activate.ToString().ToLowerInvariant()); var vBind = RowDetails.GetBinding("Visible"); if (vBind != null) { dataGrid.MergeAttribute("row-details-visible", vBind.Path /*!without context!*/); } } var isb = GetBinding(nameof(ItemsSource)); if (isb != null) { dataGrid.MergeAttribute(":items-source", isb.GetPath(context)); } MergeBoolAttributeIfExists(dataGrid, context, nameof(Hover), Hover); MergeBoolAttributeIfExists(dataGrid, context, nameof(Striped), Striped); MergeBoolAttribute(dataGrid, context, nameof(Border), Border); MergeBoolAttribute(dataGrid, context, nameof(Sort), Sort); dataGrid.MergeAttribute(":route-query", "$query"); // always! if (!String.IsNullOrEmpty(EmptyPanelDelegate)) { dataGrid.MergeAttribute(":empty-panel-callback", $"$delegate('{EmptyPanelDelegate}')"); } var dblClickBind = GetBindingCommand(nameof(DoubleClick)); if (dblClickBind != null) { // Function! dataGrid.MergeAttribute(":doubleclick", "() => " + dblClickBind.GetCommand(context)); } if (MarkerStyle != RowMarkerStyle.None) { dataGrid.MergeAttribute("mark-style", MarkerStyle.ToString().ToKebabCase()); } var mbind = GetBinding(nameof(Mark)); if (mbind != null) { dataGrid.MergeAttribute("mark", mbind.Path); // without context!!! } else if (Mark != MarkStyle.Default) { throw new XamlException("The Mark property must be a binding"); } var rbbind = GetBinding(nameof(RowBold)); if (rbbind != null) { dataGrid.MergeAttribute("row-bold", rbbind.GetPath(context)); } else if (RowBold != null) { throw new XamlException("The RowBold property must be a binding"); } // TODO: binding for GridLines ??? if (GridLines != GridLinesVisibility.None) { dataGrid.MergeAttribute("grid", GridLines.ToString()); } var groupByBind = GetBinding(nameof(GroupBy)); if (groupByBind != null) { dataGrid.MergeAttribute(":group-by", groupByBind.GetPath(context)); } else if (_groupBy != null) { dataGrid.MergeAttribute(":group-by", _groupBy.GetJsValue(context)); } if (AutoSelect != AutoSelectMode.None) { dataGrid.MergeAttribute("auto-select", AutoSelect.ToString().ToKebabCase()); } dataGrid.RenderStart(context); Int32 colIndex = 0; foreach (var col in Columns) { col.RenderColumn(context, colIndex); colIndex++; } RenderRowDetails(context); RenderEmptyPanel(context); RenderFooter(context); dataGrid.RenderEnd(context); }
/// <summary> /// Revision 999 constructor /// </summary> /// <param name="channelId">two ASCII characters, range 00-99</param> /// <param name="programId">parameter set ID or Multistage ID, three ASCII characters, range 000-999</param> /// <param name="autoSelect">One ASCII character, /// <para>0=None</para> /// <para>1=Auto Next Change</para> /// <para>2=I/O</para> /// <para>6=Fieldbus</para> /// <para>8=Socket tray</para> /// </param> /// <param name="batchSize">Two ASCII characters, range 00-99</param> /// <param name="maxCoherentNok">Two ASCII characters, range 00-99</param> /// <param name="batchCounter">Two ASCII characters, range 00-99</param> public AdvancedJob(int channelId, int programId, AutoSelect autoSelect, int batchSize, int maxCoherentNok, int batchCounter) : this(channelId, programId, autoSelect, batchSize, maxCoherentNok) { BatchCounter = batchCounter; }
public override void RenderElement(RenderContext context, Action <TagBuilder> onRender = null) { if (SkipRender(context)) { return; } var ul = new TagBuilder("a2-list", null, IsInGrid); onRender?.Invoke(ul); var isBind = GetBinding(nameof(ItemsSource)); ul.AddCssClassBool(Striped, "striped"); ul.AddCssClassBool(Border, "border"); ul.AddCssClassBool(Flush, "flush"); ul.AddCssClassBool(Compact, "compact"); ul.MergeAttribute("group-by", GroupBy); if (BorderStyle != BorderStyle.None) { ul.AddCssClass($"border-{BorderStyle.ToString().ToKebabCase()}"); } if (MarkerStyle != RowMarkerStyle.None) { ul.MergeAttribute("mark-style", MarkerStyle.ToString().ToKebabCase()); } if (Select != null) { ul.MergeAttribute(":selectable", Select.Value.ToString().ToLowerInvariant()); } ul.AddCssClass(Style.ToString().ToKebabCase()); //ul.MergeAttribute(":command", "()=> $navigate()"); var dblClickBind = GetBindingCommand(nameof(DoubleClick)); if (dblClickBind != null) { // Function! ul.MergeAttribute(":doubleclick", "() => " + dblClickBind.GetCommand(context)); } if (Background != BackgroundStyle.Default) { ul.AddCssClass("background-" + Background.ToString().ToKebabCase()); } var mbind = GetBinding(nameof(Mark)); if (mbind != null) { ul.MergeAttribute("mark", mbind.Path /*without scope, property name*/); } else if (Mark != null) { throw new XamlException("The Mark property must be a binding"); } if (isBind != null) { ul.MergeAttribute(":items-source", isBind.GetPath(context)); ul.MergeAttribute("v-lazy", isBind.GetPath(context)); } MergeAttributes(ul, context); if (Height != null) { ul.MergeStyle("height", Height.Value); } if (MaxHeight != null) { ul.MergeStyle("max-height", MaxHeight.Value); } if (AutoSelect != AutoSelectMode.None) { ul.MergeAttribute("auto-select", AutoSelect.ToString().ToKebabCase()); } ul.RenderStart(context); RenderBody(context, isBind != null); RenderEmptyPanel(context); ul.RenderEnd(context); }