From 0beb0d1f35a4a3eeb14c9726bcf14fde5c3809d3 Mon Sep 17 00:00:00 2001 From: NayeemKaka Date: Tue, 28 Oct 2025 21:17:58 +0530 Subject: [PATCH 1/7] Create README.md --- .../Service Portal Widgets/Emoji Replacer Widget/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 Modern Development/Service Portal Widgets/Emoji Replacer Widget/README.md diff --git a/Modern Development/Service Portal Widgets/Emoji Replacer Widget/README.md b/Modern Development/Service Portal Widgets/Emoji Replacer Widget/README.md new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/Modern Development/Service Portal Widgets/Emoji Replacer Widget/README.md @@ -0,0 +1 @@ + From 9278906b29fbd9702aee70ac9c522240960921ac Mon Sep 17 00:00:00 2001 From: NayeemKaka Date: Tue, 28 Oct 2025 21:20:20 +0530 Subject: [PATCH 2/7] Create HTML.html --- .../Emoji Replacer Widget/HTML.html | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 Modern Development/Service Portal Widgets/Emoji Replacer Widget/HTML.html diff --git a/Modern Development/Service Portal Widgets/Emoji Replacer Widget/HTML.html b/Modern Development/Service Portal Widgets/Emoji Replacer Widget/HTML.html new file mode 100644 index 0000000000..ff8831e38b --- /dev/null +++ b/Modern Development/Service Portal Widgets/Emoji Replacer Widget/HTML.html @@ -0,0 +1,18 @@ +
+

😊 + Emoji Replacer +

+

+ Type something using emoji shortcuts like :smile:,:heart:, or:thumbsup: +

+ +
+
+ Ouput Preview: +
+
+ +
+
+
From fab356e8ef35fe7faefcc2c3e2774da320b1daa3 Mon Sep 17 00:00:00 2001 From: NayeemKaka Date: Tue, 28 Oct 2025 21:22:10 +0530 Subject: [PATCH 3/7] Create CSS-SCSS.css --- .../Emoji Replacer Widget/CSS-SCSS.css | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 Modern Development/Service Portal Widgets/Emoji Replacer Widget/CSS-SCSS.css diff --git a/Modern Development/Service Portal Widgets/Emoji Replacer Widget/CSS-SCSS.css b/Modern Development/Service Portal Widgets/Emoji Replacer Widget/CSS-SCSS.css new file mode 100644 index 0000000000..e5ffa58d62 --- /dev/null +++ b/Modern Development/Service Portal Widgets/Emoji Replacer Widget/CSS-SCSS.css @@ -0,0 +1,9 @@ +.card{ + max-width:600px; + margin: auto; + box-shadow: 0 2px 6px rgba(0,0,0,0.1); + border-radius: 12px; +} +textarea{ + resize: none; +} From d63616d57015ae2620d7ff8b15f316f415b4de2a Mon Sep 17 00:00:00 2001 From: NayeemKaka Date: Tue, 28 Oct 2025 21:23:27 +0530 Subject: [PATCH 4/7] Create Client Script.cs --- .../Emoji Replacer Widget/Client Script.cs | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 Modern Development/Service Portal Widgets/Emoji Replacer Widget/Client Script.cs diff --git a/Modern Development/Service Portal Widgets/Emoji Replacer Widget/Client Script.cs b/Modern Development/Service Portal Widgets/Emoji Replacer Widget/Client Script.cs new file mode 100644 index 0000000000..2b1f7f77a9 --- /dev/null +++ b/Modern Development/Service Portal Widgets/Emoji Replacer Widget/Client Script.cs @@ -0,0 +1,25 @@ +api.controller=function($scope,$sce) { + /* widget controller */ + var c = this; + + c.emojiMap ={ + ':smile:' :'😊', + ':sad:':'😓', + ":heart:":'❤️', + ":thumbsup:":'👍', + ":laugh:":"😀", + ":wink:":"😉", + ":clap:":"👏", + ":party:" :"🥳" + }; + + c.replaceEmojis = function(){ + var text = $scope.data.inputText || ''; + + for(var key in c.emojiMap){ + var regex = new RegExp(key.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1"),'g'); + text = text.replace(regex,c.emojiMap[key]); + } + c.outputText= $sce.trustAsHtml(text); + } +}; From 89122d2055a7dce9fd29e5480345dd1d89de8db4 Mon Sep 17 00:00:00 2001 From: NayeemKaka Date: Tue, 28 Oct 2025 21:29:27 +0530 Subject: [PATCH 5/7] Update README.md --- .../Emoji Replacer Widget/README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Modern Development/Service Portal Widgets/Emoji Replacer Widget/README.md b/Modern Development/Service Portal Widgets/Emoji Replacer Widget/README.md index 8b13789179..cce7331cc3 100644 --- a/Modern Development/Service Portal Widgets/Emoji Replacer Widget/README.md +++ b/Modern Development/Service Portal Widgets/Emoji Replacer Widget/README.md @@ -1 +1,10 @@ +## Emoji Replacer + +The JSON Beautifier widget is a developer-focused tool designed to make working with JSON in ServiceNow fast, easy and efficient. It helps admins, developers and testers handles JSON payloads from APIs, Integration etc. + +## Benefits +- Reduces time spent manually formatting or checking JSON. +- Helps identify error or differences between JSOn payload quickly + +## Output From 009a22eee5f9b82ffba3c07ac6a495a3a625e917 Mon Sep 17 00:00:00 2001 From: NayeemKaka Date: Tue, 28 Oct 2025 21:50:13 +0530 Subject: [PATCH 6/7] Update README.md --- .../Emoji Replacer Widget/README.md | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/Modern Development/Service Portal Widgets/Emoji Replacer Widget/README.md b/Modern Development/Service Portal Widgets/Emoji Replacer Widget/README.md index cce7331cc3..fc177fa363 100644 --- a/Modern Development/Service Portal Widgets/Emoji Replacer Widget/README.md +++ b/Modern Development/Service Portal Widgets/Emoji Replacer Widget/README.md @@ -1,10 +1,22 @@ -## Emoji Replacer +## Emoji Replacer Widget -The JSON Beautifier widget is a developer-focused tool designed to make working with JSON in ServiceNow fast, easy and efficient. It helps admins, developers and testers handles JSON payloads from APIs, Integration etc. - -## Benefits -- Reduces time spent manually formatting or checking JSON. -- Helps identify error or differences between JSOn payload quickly - +This widget enhances the user experience by automatically converting emojis code into visual emojis while typing - adding personality and clarity to text communication. +## How It works +- User types in a text box: +- "Great job team!:tada::thumbsup:" +- Script will detects matching emoji code using regex. +- The widget replaces them with real emojis: +- "Great job team!🎉👍 +## Available Emoji in Widget + ":smile:" :😊, + ":sad:":😓, + ":heart:":❤️, + ":thumbsup:":👍, + ":laugh:":😀, + ":wink:":😉, + ":clap:":👏, + ":party:":🥳, + ":tada:":🎉 ## Output + From 9d8c526b9d09f9537790b8e7bfb31866405e969d Mon Sep 17 00:00:00 2001 From: NayeemKaka Date: Tue, 28 Oct 2025 21:55:28 +0530 Subject: [PATCH 7/7] Add files via upload --- .../Emoji Replacer Widget/emoji.png | Bin 0 -> 18680 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Modern Development/Service Portal Widgets/Emoji Replacer Widget/emoji.png diff --git a/Modern Development/Service Portal Widgets/Emoji Replacer Widget/emoji.png b/Modern Development/Service Portal Widgets/Emoji Replacer Widget/emoji.png new file mode 100644 index 0000000000000000000000000000000000000000..71a4446a921bf1c1a9ca4951354759cbf5389d89 GIT binary patch literal 18680 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 JF6*2UngGt*H#z_S literal 0 HcmV?d00001