From 48f145a04838c7cd6af761a8e63d7e2181c5dcec Mon Sep 17 00:00:00 2001 From: Ekaterina Fedorova Date: Tue, 3 Sep 2013 18:47:28 +0400 Subject: [PATCH] Placeholder emulation added in IE So optional fieleds are marked in IE now Change-Id: Ibaff1fd6b1e60ff7431f1eb763e449070b94247e --- muranodashboard/services/ActiveDirectory.yaml | 4 ++ muranodashboard/services/AspNetApp.yaml | 4 ++ muranodashboard/services/AspNetAppFarm.yaml | 4 ++ .../services/MsSqlClusterServer.yaml | 4 ++ muranodashboard/services/MsSqlServer.yaml | 4 ++ muranodashboard/services/WebServer.yaml | 4 ++ muranodashboard/services/WebServerFarm.yaml | 4 ++ .../css/support_placeholder.css | 4 ++ .../muranodashboard/js/support_placeholder.js | 37 +++++++++++++++++++ 9 files changed, 69 insertions(+) create mode 100644 muranodashboard/static/muranodashboard/css/support_placeholder.css create mode 100644 muranodashboard/static/muranodashboard/js/support_placeholder.js diff --git a/muranodashboard/services/ActiveDirectory.yaml b/muranodashboard/services/ActiveDirectory.yaml index 29d2caa13..b1fbe1457 100644 --- a/muranodashboard/services/ActiveDirectory.yaml +++ b/muranodashboard/services/ActiveDirectory.yaml @@ -89,6 +89,10 @@ forms: required: false regexpValidator: '^(([a-zA-Z0-9#][a-zA-Z0-9-#]*[a-zA-Z0-9#])\.)*([A-Za-z0-9#]|[A-Za-z0-9#][A-Za-z0-9-#]*[A-Za-z0-9#])$' helpText: Optional field for a machine hostname template + # temporaryHack + widgetMedia: + js: [muranodashboard/js/support_placeholder.js] + css: {all: [muranodashboard/css/support_placeholder.css]} validators: # if unitNamingPattern is given and dcInstances > 1, then '#' should occur in unitNamingPattern - expr: {YAQL: $.serviceConfiguration.dcInstances < 2 or not $.serviceConfiguration.unitNamingPattern.bool() or ('#' in $.serviceConfiguration.unitNamingPattern)} diff --git a/muranodashboard/services/AspNetApp.yaml b/muranodashboard/services/AspNetApp.yaml index 719703c79..0aad23916 100644 --- a/muranodashboard/services/AspNetApp.yaml +++ b/muranodashboard/services/AspNetApp.yaml @@ -71,6 +71,10 @@ forms: required: false regexpValidator: '^(([a-zA-Z0-9#][a-zA-Z0-9-#]*[a-zA-Z0-9#])\.)*([A-Za-z0-9#]|[A-Za-z0-9#][A-Za-z0-9-#]*[A-Za-z0-9#])$' helpText: Optional field for a machine hostname template + # temporaryHack + widgetMedia: + js: [muranodashboard/js/support_placeholder.js] + css: {all: [muranodashboard/css/support_placeholder.css]} - instanceConfiguration: fields: - name: title diff --git a/muranodashboard/services/AspNetAppFarm.yaml b/muranodashboard/services/AspNetAppFarm.yaml index 17ae64413..21fd0018d 100644 --- a/muranodashboard/services/AspNetAppFarm.yaml +++ b/muranodashboard/services/AspNetAppFarm.yaml @@ -92,6 +92,10 @@ forms: required: false regexpValidator: '^(([a-zA-Z0-9#][a-zA-Z0-9-#]*[a-zA-Z0-9#])\.)*([A-Za-z0-9#]|[A-Za-z0-9#][A-Za-z0-9-#]*[A-Za-z0-9#])$' helpText: Optional field for a machine hostname template + # temporaryHack + widgetMedia: + js: [muranodashboard/js/support_placeholder.js] + css: {all: [muranodashboard/css/support_placeholder.css]} validators: # if unitNamingPattern is given and dcInstances > 1, then '#' should occur in unitNamingPattern - expr: {YAQL: not $.serviceConfiguration.unitNamingPattern.bool() or ('#' in $.serviceConfiguration.unitNamingPattern)} diff --git a/muranodashboard/services/MsSqlClusterServer.yaml b/muranodashboard/services/MsSqlClusterServer.yaml index 92a25076f..5e4d2c56b 100644 --- a/muranodashboard/services/MsSqlClusterServer.yaml +++ b/muranodashboard/services/MsSqlClusterServer.yaml @@ -152,6 +152,10 @@ forms: required: false regexpValidator: '^(([a-zA-Z0-9#][a-zA-Z0-9-#]*[a-zA-Z0-9#])\.)*([A-Za-z0-9#]|[A-Za-z0-9#][A-Za-z0-9-#]*[A-Za-z0-9#])$' helpText: Optional field for a machine hostname template + # temporaryHack + widgetMedia: + js: [muranodashboard/js/support_placeholder.js] + css: {all: [muranodashboard/css/support_placeholder.css]} validators: # if unitNamingPattern is given and dcInstances > 1, then '#' should occur in unitNamingPattern - expr: {YAQL: not $.clusterConfiguration.unitNamingPattern.bool() or '#' in $.clusterConfiguration.unitNamingPattern} diff --git a/muranodashboard/services/MsSqlServer.yaml b/muranodashboard/services/MsSqlServer.yaml index 3aae6e33e..eb155035e 100644 --- a/muranodashboard/services/MsSqlServer.yaml +++ b/muranodashboard/services/MsSqlServer.yaml @@ -81,6 +81,10 @@ forms: required: false regexpValidator: '^(([a-zA-Z0-9#][a-zA-Z0-9-#]*[a-zA-Z0-9#])\.)*([A-Za-z0-9#]|[A-Za-z0-9#][A-Za-z0-9-#]*[A-Za-z0-9#])$' helpText: Optional field for a machine hostname template + # temporaryHack + widgetMedia: + js: [muranodashboard/js/support_placeholder.js] + css: {all: [muranodashboard/css/support_placeholder.css]} - instanceConfiguration: fields: - name: title diff --git a/muranodashboard/services/WebServer.yaml b/muranodashboard/services/WebServer.yaml index c1e0c1f22..7a8d9dc52 100644 --- a/muranodashboard/services/WebServer.yaml +++ b/muranodashboard/services/WebServer.yaml @@ -62,6 +62,10 @@ forms: required: false regexpValidator: '^(([a-zA-Z0-9#][a-zA-Z0-9-#]*[a-zA-Z0-9#])\.)*([A-Za-z0-9#]|[A-Za-z0-9#][A-Za-z0-9-#]*[A-Za-z0-9#])$' helpText: Optional field for a machine hostname template + # temporaryHack + widgetMedia: + js: [muranodashboard/js/support_placeholder.js] + css: {all: [muranodashboard/css/support_placeholder.css]} - instanceConfiguration: fields: - name: title diff --git a/muranodashboard/services/WebServerFarm.yaml b/muranodashboard/services/WebServerFarm.yaml index d52e318cf..1ce2297dd 100644 --- a/muranodashboard/services/WebServerFarm.yaml +++ b/muranodashboard/services/WebServerFarm.yaml @@ -79,6 +79,10 @@ forms: required: false regexpValidator: '^(([a-zA-Z0-9#][a-zA-Z0-9-#]*[a-zA-Z0-9#])\.)*([A-Za-z0-9#]|[A-Za-z0-9#][A-Za-z0-9-#]*[A-Za-z0-9#])$' helpText: Optional field for a machine hostname template + # temporaryHack + widgetMedia: + js: [muranodashboard/js/support_placeholder.js] + css: {all: [muranodashboard/css/support_placeholder.css]} validators: # if unitNamingPattern is given and dcInstances > 1, then '#' should occur in unitNamingPattern - expr: {YAQL: not $.serviceConfiguration.unitNamingPattern.bool() or ('#' in $.serviceConfiguration.unitNamingPattern)} diff --git a/muranodashboard/static/muranodashboard/css/support_placeholder.css b/muranodashboard/static/muranodashboard/css/support_placeholder.css new file mode 100644 index 000000000..5acbc2d0d --- /dev/null +++ b/muranodashboard/static/muranodashboard/css/support_placeholder.css @@ -0,0 +1,4 @@ +.placeholder { + color: #999999; + font-style: italic; +} \ No newline at end of file diff --git a/muranodashboard/static/muranodashboard/js/support_placeholder.js b/muranodashboard/static/muranodashboard/js/support_placeholder.js new file mode 100644 index 000000000..4df8f19a1 --- /dev/null +++ b/muranodashboard/static/muranodashboard/js/support_placeholder.js @@ -0,0 +1,37 @@ +/* Copyright (c) 2013 Mirantis, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); you may + not use this file except in compliance with the License. You may obtain + a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. +*/ +$(function() { + var get_IE_version = function() { + if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) { //test for MSIE x.x; + var IE_version = new Number(RegExp.$1) // capture x.x portion and store as a number + return IE_version + } + } + if (get_IE_version() < 10) { + $('[placeholder]').focus(function() { + var input = $(this); + if (input.val() == input.attr('placeholder')) { + input.val(''); + input.removeClass('placeholder'); + } + }).blur(function() { + var input = $(this); + if (input.val() == '' || input.val() == input.attr('placeholder')) { + input.addClass('placeholder'); + input.val(input.attr('placeholder')); + } + }).blur(); + } +}); \ No newline at end of file