@@ -42,6 +42,23 @@ For example: [INPUT YOUR NAME HERE]`;*/
4242 scope: $scope
4343 });
4444 }
45+
46+ c.modDelete = function(prompt, event){
47+ $scope.prompt = prompt;
48+ if (event) event.stopPropagation();
49+ c.modalInstance = $uibModal.open({
50+ templateUrl: 'modDelete',
51+ scope: $scope
52+ });
53+ }
54+
55+ c.deletePrompt = function(prompt){
56+ c.data.promptToDelete = prompt;
57+ c.server.update().then(function(){
58+ c.data.promptToDelete = null;
59+ c.closeModal();
60+ });
61+ }
4562
4663 c.addComment = function(prompt, event){
4764 if (event) event.stopPropagation();
@@ -280,6 +297,7 @@ For example: [INPUT YOUR NAME HERE]`;*/
280297 //configuration
281298 data.debug = false;
282299 data.userId = gs.getUserID();
300+ data.isMod = gs.hasRole('x_snc_ehd_servic_0.moderator');
283301 data.thisUrl = gs.getProperty('glide.servlet.uri');
284302 data.query = $sp.getParameter('query') || '';
285303 data.categoryFilter = data.query.indexOf('category=') != -1 ? true : false;
@@ -309,6 +327,14 @@ For example: [INPUT YOUR NAME HERE]`;*/
309327 newCommentGr.update();
310328 }
311329 }
330+
331+ if (input?.promptToDelete){
332+ const deleteGr = new GlideRecord('x_snc_ehd_servic_0_prompt');
333+ if (deleteGr.get(input.promptToDelete)){
334+ deleteGr.setValue('active', 'false');
335+ deleteGr.update();
336+ }
337+ }
312338
313339 if (input?.voteClicked){
314340 const newVoteGr = new GlideRecord('x_snc_ehd_servic_0_vote');
@@ -347,6 +373,7 @@ For example: [INPUT YOUR NAME HERE]`;*/
347373 //pagination
348374 const countGa = new GlideAggregate('x_snc_ehd_servic_0_prompt');
349375 if (data.query) countGa.addEncodedQuery(data.query);
376+ countGa.addQuery('active', 'true');
350377 //countGa.addEncodedQuery(stateFilter);
351378 //if (data.query) countGa.addEncodedQuery(data.query);
352379 //if (data.searchName) countGa.addEncodedQuery('user.user.nameLIKE' + data.searchName);
@@ -372,6 +399,7 @@ For example: [INPUT YOUR NAME HERE]`;*/
372399 else promptGr.orderByDesc('number');
373400 promptGr.chooseWindow(data.rowStart, rowEnd);
374401 if (data.query) promptGr.addEncodedQuery(data.query);
402+ promptGr.addActiveQuery();
375403 promptGr.query();
376404 while (promptGr.next()){
377405 const prompt = {};
@@ -510,14 +538,14 @@ For example: [INPUT YOUR NAME HERE]`;*/
510538 <sys_created_by >earl.duque</sys_created_by >
511539 <sys_created_on >2024-06-07 18:15:31</sys_created_on >
512540 <sys_id >0182c9d793ea0a10b653ffbd1dba10b1</sys_id >
513- <sys_mod_count >598 </sys_mod_count >
541+ <sys_mod_count >609 </sys_mod_count >
514542 <sys_name >library</sys_name >
515543 <sys_package display_value =" ServiceNow GenAI Prompt Library" source =" x_snc_ehd_servic_0" >ff61a00ac32a8610c9bcbe2bb00131da</sys_package >
516544 <sys_policy />
517545 <sys_scope display_value =" ServiceNow GenAI Prompt Library" >ff61a00ac32a8610c9bcbe2bb00131da</sys_scope >
518546 <sys_update_name >sp_widget_0182c9d793ea0a10b653ffbd1dba10b1</sys_update_name >
519547 <sys_updated_by >earl.duque</sys_updated_by >
520- <sys_updated_on >2024-06-26 18:23:43 </sys_updated_on >
548+ <sys_updated_on >2024-06-26 18:48:01 </sys_updated_on >
521549 <template ><![CDATA[ <div class="page-intro">
522550 <div ng-if="data.query || data.sort">
523551 <span class="icon-home home-button" ng-click="c.goHome()"> Go to Library home</span>
@@ -596,6 +624,9 @@ For example: [INPUT YOUR NAME HERE]`;*/
596624 <div class="icon-tree-right fork" ng-click="c.addPrompt(prompt, true, $event)">
597625 Fork
598626 </div>
627+ <div class="icon-cross-circle fork" ng-click="c.modDelete(prompt.sys_id, $event)" ng-if="data.isMod === true">
628+ Delete (Mod)
629+ </div>
599630 <span class="icon-arrow-up engagement-button" ng-class="{'voted': prompt.voted == true}" ng-click="c.vote(prompt.sys_id, $event)"></span>
600631 <span class="engagement-button" ng-click="c.addComment(prompt, $event)"><span class="comment-count">{{prompt.comments.length}} comment{{prompt.comments.length == 1 ? '' : 's'}} </span><span class="icon-comment-add"></span></span>
601632 <span class="engagement-button"ng-click="c.copyToClipboard(prompt.prompt, $event)">Copy Prompt <span class="icon-document"></span></span>
@@ -715,6 +746,18 @@ For example: [INPUT YOUR NAME HERE]`;*/
715746</div>
716747</script>
717748
749+ <script type="text/ng-template" id="modDelete">
750+ <div class="panel panel-default">
751+ <div class="panel-heading">
752+ <h4 class="panel-title">Mods only: Delete prompt?</h4>
753+ </div>
754+ <div class="panel-footer text-right">
755+ <button class="btn btn-primary" ng-click="c.deletePrompt(prompt)">${Delete}</button>
756+ <button class="btn btn-info" ng-click="c.closeModal()">${Close}</button>
757+ </div>
758+ </div>
759+ </script>
760+
718761<script type="text/ng-template" id="commentModal">
719762<div class="panel panel-default">
720763 <div class="panel-heading">
0 commit comments