129 lines · 5.6 KB · Text
RawDownload
@*******************************************************************************************************//  AddSelectField.cshtml - Gbtc////  Copyright © 2016, Grid Protection Alliance.  All Rights Reserved.////  Licensed to the Grid Protection Alliance (GPA) under one or more contributor license agreements. See//  the NOTICE file distributed with this work for additional information regarding copyright ownership.//  The GPA licenses this file to you under the MIT License (MIT), the "License"; you may//  not use this file except in compliance with the License. You may obtain a copy of the License at:////      http://opensource.org/licenses/MIT////  Unless agreed to in writing, the subject software distributed under the License is distributed on an//  "AS-IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. Refer to the//  License for the specific language governing permissions and limitations.////  Code Modification History://  ----------------------------------------------------------------------------------------------------//  02/01/2016 - J. Ritchie Carroll//       Generated original version of source code.////*****************************************************************************************************@@using System.Collections.Generic@using RazorEngine.Templating@inherits TemplateBase@{    string fieldName = ViewBag.FieldName;    bool required = ViewBag.Required;    string fieldLabel = ViewBag.FieldLabel;    string fieldID = ViewBag.FieldID;    string groupDataBinding = ViewBag.GroupDataBinding;    string labelDataBinding = ViewBag.LabelDataBinding;    string requiredDataBinding = ViewBag.RequiredDataBinding;    string customDataBinding = ViewBag.CustomDataBinding;    string dependencyFieldName = ViewBag.DependencyFieldName;    string toolTip = ViewBag.ToolTip;    string optionDataBinding = ViewBag.OptionDataBinding;    bool allowUnset = ViewBag.AllowUnset;    string unsetCaption = ViewBag.UnsetCaption;    string valueUnsetOptions;    Dictionary<string, string> options = ViewBag.Options;     if (!string.IsNullOrEmpty(dependencyFieldName))    {        if (string.IsNullOrEmpty(customDataBinding))        {            customDataBinding = string.Format("enable: {0}", dependencyFieldName);        }         if (string.IsNullOrEmpty(labelDataBinding))        {            labelDataBinding = string.Format("css: {{disabled: !{0}()}}", dependencyFieldName);        }         if (required && string.IsNullOrEmpty(requiredDataBinding))        {            requiredDataBinding = string.Format("{0}()", dependencyFieldName);        }    }     if (!string.IsNullOrEmpty(groupDataBinding))    {        groupDataBinding = string.Format(" data-bind=\"{0}\"", groupDataBinding);    }     if (!string.IsNullOrEmpty(labelDataBinding))    {        labelDataBinding = string.Format(" data-bind=\"{0}\"", labelDataBinding);    }     if (!string.IsNullOrEmpty(requiredDataBinding))    {        requiredDataBinding = string.Format(" && {0}", requiredDataBinding);    }     if (!string.IsNullOrEmpty(customDataBinding))    {        customDataBinding = string.Format(", {0}", customDataBinding);    }     if (!string.IsNullOrEmpty(toolTip))    {        toolTip = string.Format(" data-toggle=\"tooltip\" data-placement=\"bottom\" title=\"{0}\"", toolTip);    }     if (!string.IsNullOrEmpty(optionDataBinding))    {        optionDataBinding = string.Format(" data-bind=\"{0}\"", optionDataBinding);    }     if (required) {        allowUnset = true;    }     valueUnsetOptions = allowUnset.ToString().ToLower();     if (allowUnset && !string.IsNullOrWhiteSpace(unsetCaption))    {        valueUnsetOptions = string.Format("{0}, optionsCaption: '{1}'", valueUnsetOptions, unsetCaption);    }}@if (required) {    @Raw(string.IsNullOrEmpty(groupDataBinding) ? "" : string.Format("<div{0}>\r\n", groupDataBinding))    <div class="form-group" data-bind="css: {'has-error': !isNumber(@(Raw(fieldName))())@(Raw(requiredDataBinding)), 'has-feedback': !isNumber(@(Raw(fieldName))())@(Raw(requiredDataBinding))}"@Raw(toolTip)>                @if (fieldLabel.Length > 0) {        <label for="@Raw(fieldID)"@Raw(labelDataBinding)>@Raw(fieldLabel):</label>        }        <select class="form-control" id="@Raw(fieldID)" data-bind="value: @Raw(fieldName), valueAllowUnset: @Raw(valueUnsetOptions), attr: {'disabled': ($root.recordMode()===RecordMode.View ? true : undefined)}@Raw(customDataBinding)"@(string.IsNullOrEmpty(requiredDataBinding) ? " required" : "")>            @foreach (KeyValuePair<string, string> item in options) {            <option value="@item.Key"@Raw(optionDataBinding)>@item.Value</option>            }        </select>        <span class="glyphicon glyphicon-remove form-control-feedback" style="right: 10px" data-bind="visible: !isNumber(@(Raw(fieldName))())@(Raw(requiredDataBinding))"></span>            </div>    @Raw(string.IsNullOrEmpty(groupDataBinding) ? "" : "</div>\r\n")}else{    <div class="form-group"@Raw(groupDataBinding)@Raw(toolTip)>        @if (fieldLabel.Length > 0) {        <label for="@Raw(fieldID)"@Raw(labelDataBinding)>@Raw(fieldLabel):</label>        }        <select class="form-control" id="@Raw(fieldID)" data-bind="value: @Raw(fieldName), valueAllowUnset: @Raw(valueUnsetOptions), attr: {'disabled': ($root.recordMode()===RecordMode.View ? true : undefined)}@Raw(customDataBinding)">            @foreach (KeyValuePair<string, string> item in options) {            <option value="@item.Key"@Raw(optionDataBinding)>@item.Value</option>            }        </select>    </div>}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t