Rock.Web.UI.Controls.AttributeEditor.RegisterClientScript C# (CSharp) Method

RegisterClientScript() private method

Registers the client script.
private RegisterClientScript ( ) : void
return void
        private void RegisterClientScript()
        {
            string script = @"
            function populateAttributeKey(nameControlId, keyControlId ) {
            // if the attribute key hasn't been filled in yet, populate it with the attribute name minus whitespace
            var keyControl = $('#' + keyControlId);
            var keyValue = keyControl.val();

            var reservedKeyJson = keyControl.closest('fieldset').find('.js-existing-key-names').val();
            var reservedKeyNames = eval('(' + reservedKeyJson + ')');

            if (keyValue == '') {

            keyValue = $('#' + nameControlId).val().replace(/[^a-zA-Z0-9_.\-]/g, '');
            var newKeyValue = keyValue;

            var i = 1;
            while ($.inArray(newKeyValue, reservedKeyNames) >= 0) {
                newKeyValue = keyValue + i++;
            }

            keyControl.val(newKeyValue);
            }
            }

            function validateKey(sender, args) {
            var keyControl = $('#' + sender.controltovalidate);
            var reservedKeyJson = keyControl.closest('fieldset').find('.js-existing-key-names').val();
            var reservedKeyNames = eval('(' + reservedKeyJson + ')');
            args.IsValid = ( $.inArray( keyControl.val(), reservedKeyNames ) < 0 && ! keyControl.val().match(/[^a-zA-Z0-9_.\-]/g) );
            }
            ";
            ScriptManager.RegisterStartupScript( this, this.GetType(), "AttributeEditor", script, true );
        }