From 0a267a29f36355171796a1f25c07141718d307cd Mon Sep 17 00:00:00 2001 From: praneettekdi Date: Wed, 17 Mar 2021 10:33:31 +0530 Subject: [PATCH] Merge Release 1.0.5 into Master (#97) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update tjcertificate.xml * Bug #168296 Fix: Certificate view - Text is not coming from language constant. (#92) * Bug #168296 Fix: Certificate view - Text is not coming from language constant. * Bug #168296 Fix: Certificate view - Text is not coming from language constant. * Task #168311 feat: Remove duplicates Language constant from language … (#93) * Task #168311 feat: Remove duplicates Language constant from language files. * Task #168311 feat: Remove duplicates Language constant from language files. * Task #168722 chore: Add jQuery LoadingOverlay (#95) Co-authored-by: MeghaBiranje <58220237+MeghaBiranje@users.noreply.github.com> Co-authored-by: Rohan Shinde <37367348+shindebalu@users.noreply.github.com> Co-authored-by: Tushar Shekokar --- .../en-GB/en-GB.com_tjcertificate.ini | 12 +++--------- .../en-GB/en-GB.com_tjcertificate.sys.ini | 3 --- .../media/images/loader/loader.gif | Bin 0 -> 35183 bytes .../media/js/certificateImage.js | 6 ++++-- .../media/js/certificateImage.min.js | 2 +- .../vendors/loader/js/loadingoverlay.min.js | 8 ++++++++ .../en-GB/en-GB.com_tjcertificate.ini | 3 +++ .../site/views/certificate/tmpl/default.php | 18 +++++++----------- .../com_tjcertificate/tjcertificate.xml | 2 +- 9 files changed, 27 insertions(+), 27 deletions(-) create mode 100644 src/components/com_tjcertificate/media/images/loader/loader.gif create mode 100644 src/components/com_tjcertificate/media/vendors/loader/js/loadingoverlay.min.js diff --git a/src/components/com_tjcertificate/administrator/languages/en-GB/en-GB.com_tjcertificate.ini b/src/components/com_tjcertificate/administrator/languages/en-GB/en-GB.com_tjcertificate.ini index dd31d865..dd79f25c 100644 --- a/src/components/com_tjcertificate/administrator/languages/en-GB/en-GB.com_tjcertificate.ini +++ b/src/components/com_tjcertificate/administrator/languages/en-GB/en-GB.com_tjcertificate.ini @@ -69,7 +69,7 @@ COM_TJCERTIFICATE_PAGE_ADD_CERTIFICATE="Issue Certificate: New" COM_TJCERTIFICATE_PAGE_EDIT_CERTIFICATE="Issued Certificate: Edit" COM_TJCERTIFICATE_PAGE_VIEW_CERTIFICATE="Issued Certificate: View" -COM_TJCERTIFICATE_CERTIFICATE_FORM_LBL_CERTIFICATE_ID="Unique Certificate ID" +COM_TJCERTIFICATE_CERTIFICATE_FORM_LBL_CERTIFICATE_ID="Record Id" COM_TJCERTIFICATE_CERTIFICATE_FORM_DESC_CERTIFICATE_ID="Unique Certificate ID generated using Prefix" COM_TJCERTIFICATE_CERTIFICATE_FORM_LBL_CERTIFICATE_TEMPLATE="Template" COM_TJCERTIFICATE_CERTIFICATE_FORM_DESC_CERTIFICATE_TEMPLATE="Template" @@ -83,9 +83,9 @@ COM_TJCERTIFICATE_CERTIFICATE_FORM_LBL_CERTIFICATE_ISSUED_USER="User" COM_TJCERTIFICATE_CERTIFICATE_FORM_DESC_CERTIFICATE_ISSUED_USER="User against whom the certificate is issued" COM_TJCERTIFICATE_CERTIFICATE_FORM_LBL_CERTIFICATE_COMMENT="Comment" COM_TJCERTIFICATE_CERTIFICATE_FORM_DESC_CERTIFICATE_ISSUED_COMMENT="Comment" -COM_TJCERTIFICATE_CERTIFICATE_FORM_LBL_CERTIFICATE_ISSUED_DATE="Issued Date" +COM_TJCERTIFICATE_CERTIFICATE_FORM_LBL_CERTIFICATE_ISSUED_DATE="Issue Date" COM_TJCERTIFICATE_CERTIFICATE_FORM_DESC_CERTIFICATE_ISSUED_DATE="Certificate issue date" -COM_TJCERTIFICATE_CERTIFICATE_FORM_LBL_CERTIFICATE_EXPIRY_DATE="Expiry Date" +COM_TJCERTIFICATE_CERTIFICATE_FORM_LBL_CERTIFICATE_EXPIRY_DATE="Expiration Date" COM_TJCERTIFICATE_CERTIFICATE_FORM_DESC_CERTIFICATE_EXPIRY_DATE="Certificate expiry date" ;Certificate - List view @@ -113,7 +113,6 @@ COM_TJCERTIFICATE_CERTIFICATE_FILTER_CERTIFICATE_CLIENT_SELECT="- Select Client COM_TJCERTIFICATE_CERTIFICATE_FILTER_CERTIFICATE_CLIENT="Client" COM_TJCERTIFICATE_CERTIFICATE_FILTER_DESC_CERTIFICATE_CLIENT="Client" COM_TJCERTIFICATE_CERTIFICATE_FILTER_ISSUED_USER_SELECT="- Select Issued User -" -COM_TJCERTIFICATE_CERTIFICATE_FILTER_ISSUED_USER="Issued User" COM_TJCERTIFICATE_CERTIFICATE_FILTER_ISSUED_USER="Issue User" COM_TJCERTIFICATE_CERTIFICATE_FILTER_PUBLISHED="Status" COM_TJCERTIFICATE_CERTIFICATE_FILTER_PUBLISHED_DESC="Status" @@ -195,10 +194,8 @@ COM_TJCERTIFICATE_CERTIFICATE_TEMPLATE_FILTER_SEARCH_LABEL="Search" COM_TJCERTIFICATE_CERTIFICATE_TEMPLATE_FILTER_SEARCH_LABEL_DESC="Search in title. Prefix with ID:to search for a Template ID" COM_TJCERTIFICATE_CERTIFICATE_TEMPLATE_FILTER_CERTIFICATE_SELECT_CLIENT="- Select Client -" COM_TJCERTIFICATE_CERTIFICATE_TEMPLATE_FILTER_DESC_CERTIFICATE_CLIENT="Client" -COM_TJCERTIFICATE_CERTIFICATE_TEMPLATE_FILTER_DESC_CERTIFICATE_CLIENT="Client" COM_TJCERTIFICATE_CERTIFICATE_TEMPLATE_FILTER_ISSUED_SELECT_USER="- Select Created By -" COM_TJCERTIFICATE_CERTIFICATE_TEMPLATE_FILTER_ISSUED_USER="Created By" -COM_TJCERTIFICATE_CERTIFICATE_TEMPLATE_FILTER_ISSUED_USER="Created By" COM_TJCERTIFICATE_CERTIFICATE_TEMPLATE_FILTER_PUBLIC="Access" COM_TJCERTIFICATE_CERTIFICATE_TEMPLATE_FILTER_PUBLIC_DESC="Access" COM_TJCERTIFICATE_CERTIFICATE_TEMPLATE_PRIVATE="Private" @@ -327,15 +324,12 @@ COM_TJCERTIFICATE_CUSTOM_DATE_FORMAT_DESC="This option will used to set custom p ;Training record form COM_TJCERTIFICATE_FORM_LBL_CERTIFICATE_NAME="Name" COM_TJCERTIFICATE_FORM_LBL_CERTIFICATE_NAME_DESC="Training record name" -COM_TJCERTIFICATE_CERTIFICATE_FORM_LBL_CERTIFICATE_ID="Record Id" COM_TJCERTIFICATE_CERTIFICATE_FORM_LBL_CERTIFICATE_ID_DESC="Record Id" COM_TJCERTIFICATE_FORM_LBL_CERTIFICATE_URL="Url
(start url with http/https)" COM_TJCERTIFICATE_FORM_LBL_CERTIFICATE_URL_DESC="Add training record certificate Url" COM_TJCERTIFICATE_FORM_LBL_ISSUE_ORG="Issuing Organization" COM_TJCERTIFICATE_FORM_LBL_ISSUE_ORG_DESC="Organization Name" -COM_TJCERTIFICATE_CERTIFICATE_FORM_LBL_CERTIFICATE_ISSUED_DATE="Issue Date" COM_TJCERTIFICATE_CERTIFICATE_FORM_LBL_CERTIFICATE_ISSUED_DATE_DESC="Add training record completion or certificate issue date" -COM_TJCERTIFICATE_CERTIFICATE_FORM_LBL_CERTIFICATE_EXPIRY_DATE="Expiration Date" COM_TJCERTIFICATE_CERTIFICATE_FORM_LBL_CERTIFICATE_EXPIRY_DATE_DESC="Certificate expiry date" COM_TJCERTIFICATE_CERTIFICATE_FORM_LBL_CERTIFICATE_STATUS="Record Status" COM_TJCERTIFICATE_CERTIFICATE_FORM_LBL_CERTIFICATE_STATUS_DESC="Select record status" diff --git a/src/components/com_tjcertificate/administrator/languages/en-GB/en-GB.com_tjcertificate.sys.ini b/src/components/com_tjcertificate/administrator/languages/en-GB/en-GB.com_tjcertificate.sys.ini index 061c19f1..732ce6ba 100644 --- a/src/components/com_tjcertificate/administrator/languages/en-GB/en-GB.com_tjcertificate.sys.ini +++ b/src/components/com_tjcertificate/administrator/languages/en-GB/en-GB.com_tjcertificate.sys.ini @@ -16,9 +16,6 @@ COM_TJCERTIFICATE_CERTIFICATE_MY_VIEW_DEFAULT_TITLE="My Certificates" COM_TJCERTIFICATE_CERTIFICATE_MY_VIEW_DEFAULT_DESC="Display user's own certificates." ;Template list menu -COM_TJCERTIFICATE_TEMPLATE_LIST_DEFAULT_TITLE="Templates" -COM_TJCERTIFICATE_TEMPLATE_LIST_DEFAULT_DESC="List of templates" - COM_TJCERTIFICATE_TEMPLATE_LIST_DEFAULT_TITLE="Templates" COM_TJCERTIFICATE_TEMPLATE_LIST_DEFAULT_DESC="List of templates" COM_TJCERTIFICATE_TEMPLATE_FIELDSET_CLIENT_SELECT_LABEL="Client" diff --git a/src/components/com_tjcertificate/media/images/loader/loader.gif b/src/components/com_tjcertificate/media/images/loader/loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..bc7b972d6ac2572e8c57c6a8f6b485294de75347 GIT binary patch literal 35183 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",imageAnimation:"2000ms rotate_right",imageAutoResize:!0,imageResizeFactor:1,imageColor:"#202020",imageClass:"",imageOrder:1,fontawesome:"",fontawesomeAnimation:"",fontawesomeAutoResize:!0,fontawesomeResizeFactor:1,fontawesomeColor:"#202020",fontawesomeOrder:2,custom:"",customAnimation:"",customAutoResize:!0,customResizeFactor:1,customOrder:3,text:"",textAnimation:"",textAutoResize:!0,textResizeFactor:.5,textColor:"#202020",textClass:"",textOrder:4,progress:!1,progressAutoResize:!0,progressResizeFactor:.25,progressColor:"#a0a0a0",progressClass:"",progressOrder:5,progressFixedPosition:"",progressSpeed:200,progressMin:0,progressMax:100,size:50,maxSize:120,minSize:20,direction:"column",fade:!0,resizeInterval:50,zIndex:2147483647},c={overlay:{"box-sizing":"border-box",position:"relative",display:"flex","flex-wrap":"nowrap","align-items":"center","justify-content":"space-around"},element:{"box-sizing":"border-box",overflow:"visible",flex:"0 0 auto",display:"flex","justify-content":"center","align-items":"center"},element_svg:{width:"100%",height:"100%"},progress_fixed:{position:"absolute",left:"0",width:"100%"},progress_wrapper:{position:"absolute",top:"0",left:"0",width:"100%",height:"100%"},progress_bar:{position:"absolute",left:"0"}},n={count:0,container:a,settings:a,wholePage:a,resizeIntervalId:a,text:a,progress:a},s={animations:["rotate_right","rotate_left","fadein","pulse"],progressPosition:["top","bottom"]},d={animations:{name:"rotate_right",time:"2000ms"},fade:[400,200]};function o(e,s){e=g(e),s.size=w(s.size),s.maxSize=parseInt(s.maxSize,10)||0,s.minSize=parseInt(s.minSize,10)||0,s.resizeInterval=parseInt(s.resizeInterval,10)||0;var t=p(e),a=u(e);if(!1===a){if((a=g.extend({},n)).container=e,a.wholePage=e.is("body"),t=g("
",{class:"loadingoverlay"}).css(c.overlay).css("flex-direction","row"===s.direction.toLowerCase()?"row":"column"),s.backgroundClass?t.addClass(s.backgroundClass):t.css("background",s.background),a.wholePage&&t.css({position:"fixed",top:0,left:0,width:"100%",height:"100%"}),void 0!==s.zIndex&&t.css("z-index",s.zIndex),s.image){g.isArray(s.imageColor)?0===s.imageColor.length?s.imageColor=!1:1===s.imageColor.length?s.imageColor={fill:s.imageColor[0]}:s.imageColor={fill:s.imageColor[0],stroke:s.imageColor[1]}:s.imageColor&&(s.imageColor={fill:s.imageColor});var o=v(t,s.imageOrder,s.imageAutoResize,s.imageResizeFactor,s.imageAnimation);""===s.image.slice(-6).toLowerCase()?(o.append(s.image),o.children().css(c.element_svg),!s.imageClass&&s.imageColor&&o.find("*").css(s.imageColor)):".svg"===s.image.slice(-4).toLowerCase()||"data:image/svg"===s.image.slice(0,14).toLowerCase()?g.ajax({url:s.image,type:"GET",dataType:"html",global:!1}).done(function(e){o.html(e),o.children().css(c.element_svg),!s.imageClass&&s.imageColor&&o.find("*").css(s.imageColor)}):o.css({"background-image":"url("+s.image+")","background-position":"center","background-repeat":"no-repeat","background-size":"cover"}),s.imageClass&&o.addClass(s.imageClass)}if(s.fontawesome){o=v(t,s.fontawesomeOrder,s.fontawesomeAutoResize,s.fontawesomeResizeFactor,s.fontawesomeAnimation).addClass("loadingoverlay_fa");g("
",{class:s.fontawesome}).appendTo(o),s.fontawesomeColor&&o.css("color",s.fontawesomeColor)}if(s.custom)o=v(t,s.customOrder,s.customAutoResize,s.customResizeFactor,s.customAnimation).append(s.custom);if(s.text&&(a.text=v(t,s.textOrder,s.textAutoResize,s.textResizeFactor,s.textAnimation).addClass("loadingoverlay_text").text(s.text),s.textClass?a.text.addClass(s.textClass):s.textColor&&a.text.css("color",s.textColor)),s.progress){o=v(t,s.progressOrder,s.progressAutoResize,s.progressResizeFactor,!1).addClass("loadingoverlay_progress");var r=g("
").css(c.progress_wrapper).appendTo(o);a.progress={bar:g("
").css(c.progress_bar).appendTo(r),fixed:!1,margin:0,min:parseFloat(s.progressMin),max:parseFloat(s.progressMax),speed:parseInt(s.progressSpeed,10)};var i=(s.progressFixedPosition+"").replace(/\s\s+/g," ").toLowerCase().split(" ");2===i.length&&y(i[0])?(a.progress.fixed=i[0],a.progress.margin=w(i[1])):2===i.length&&y(i[1])?(a.progress.fixed=i[1],a.progress.margin=w(i[0])):1===i.length&&y(i[0])&&(a.progress.fixed=i[0],a.progress.margin=0),"top"===a.progress.fixed?o.css(c.progress_fixed).css("top",a.progress.margin?a.progress.margin.value+(a.progress.margin.fixed?a.progress.margin.units:"%"):0):"bottom"===a.progress.fixed&&o.css(c.progress_fixed).css("top","auto"),s.progressClass?a.progress.bar.addClass(s.progressClass):s.progressColor&&a.progress.bar.css("background",s.progressColor)}s.fade?!0===s.fade?s.fade=d.fade:"string"==typeof s.fade||"number"==typeof s.fade?s.fade=[s.fade,s.fade]:g.isArray(s.fade)&&s.fade.length<2&&(s.fade=[s.fade[0],s.fade[0]]):s.fade=[0,0],s.fade=[parseInt(s.fade[0],10),parseInt(s.fade[1],10)],a.settings=s,t.data("loadingoverlay_data",a),e.data("loadingoverlay",t),t.fadeTo(0,.01).appendTo("body"),f(e,!0),0a.settings.maxSize&&(n=a.settings.maxSize),a.settings.minSize&&n",{class:"loadingoverlay_element",css:{order:s}}).css(c.element).data({loadingoverlay_autoresize:t,loadingoverlay_resizefactor:a}).appendTo(e);if(!0===o&&(o=d.animations.time+" "+d.animations.name),"string"==typeof o){var i,n,l=o.replace(/\s\s+/g," ").toLowerCase().split(" ");2===l.length&&x(l[0])&&h(l[1])?(i=l[1],n=l[0]):2===l.length&&x(l[1])&&h(l[0])?(i=l[0],n=l[1]):1===l.length&&x(l[0])?(i=d.animations.name,n=l[0]):1===l.length&&h(l[0])&&(i=l[0],n=d.animations.time),r.css({"animation-name":"loadingoverlay_animation__"+i,"animation-duration":n,"animation-timing-function":"linear","animation-iteration-count":"infinite"})}return r}function x(e){return!isNaN(parseFloat(e))&&("s"===e.slice(-1)||"ms"===e.slice(-2))}function h(e){return-1","@-webkit-keyframes loadingoverlay_animation__rotate_right {","to {","-webkit-transform : rotate(360deg);","transform : rotate(360deg);","}","}","@keyframes loadingoverlay_animation__rotate_right {","to {","-webkit-transform : rotate(360deg);","transform : rotate(360deg);","}","}","@-webkit-keyframes loadingoverlay_animation__rotate_left {","to {","-webkit-transform : rotate(-360deg);","transform : rotate(-360deg);","}","}","@keyframes loadingoverlay_animation__rotate_left {","to {","-webkit-transform : rotate(-360deg);","transform : rotate(-360deg);","}","}","@-webkit-keyframes loadingoverlay_animation__fadein {","0% {","opacity : 0;","-webkit-transform : scale(0.1, 0.1);","transform : scale(0.1, 0.1);","}","50% {","opacity : 1;","}","100% {","opacity : 0;","-webkit-transform : scale(1, 1);","transform : scale(1, 1);","}","}","@keyframes loadingoverlay_animation__fadein {","0% {","opacity : 0;","-webkit-transform : scale(0.1, 0.1);","transform : scale(0.1, 0.1);","}","50% {","opacity : 1;","}","100% {","opacity : 0;","-webkit-transform : scale(1, 1);","transform : scale(1, 1);","}","}","@-webkit-keyframes loadingoverlay_animation__pulse {","0% {","-webkit-transform : scale(0, 0);","transform : scale(0, 0);","}","50% {","-webkit-transform : scale(1, 1);","transform : scale(1, 1);","}","100% {","-webkit-transform : scale(0, 0);","transform : scale(0, 0);","}","}","@keyframes loadingoverlay_animation__pulse {","0% {","-webkit-transform : scale(0, 0);","transform : scale(0, 0);","}","50% {","-webkit-transform : scale(1, 1);","transform : scale(1, 1);","}","100% {","-webkit-transform : scale(0, 0);","transform : scale(0, 0);","}","}",""].join(" "))})}); diff --git a/src/components/com_tjcertificate/site/languages/en-GB/en-GB.com_tjcertificate.ini b/src/components/com_tjcertificate/site/languages/en-GB/en-GB.com_tjcertificate.ini index fb40598b..984e0f9a 100644 --- a/src/components/com_tjcertificate/site/languages/en-GB/en-GB.com_tjcertificate.ini +++ b/src/components/com_tjcertificate/site/languages/en-GB/en-GB.com_tjcertificate.ini @@ -125,3 +125,6 @@ COM_TJCERTIFICATE_TRAINING_RECORD_SAVE_SUCCESSFULLY="Training record saved succe COM_TJCERTIFICATE_STATUS_PENDING="Pending" COM_TJCERTIFICATE_EXPIRY_DATE_VALIDATION_MESSAGE="Expiration date should be greater than issue date" COM_TJCERTIFICATE_LBL_CERTIFICATE_URL="Url" +COM_TJCERTIFICATE_CERTIFICATE_DETAIL_VIEW_CERTIFICATE="This certificate (ID: %s ) verifies that %s has successfully completed the %s on %s." +COM_TJCERTIFICATE_CERTIFICATE_DETAIL_VIEW_AWARDED="This certificate (ID: %s ) has been awarded to %s on %s." +COM_TJCERTIFICATE_CERTIFICATE_DETAIL_VIEW_CERTIFICATE_EXPIRES=" This Certificate expires on %s" diff --git a/src/components/com_tjcertificate/site/views/certificate/tmpl/default.php b/src/components/com_tjcertificate/site/views/certificate/tmpl/default.php index 95201de4..d65ccb61 100644 --- a/src/components/com_tjcertificate/site/views/certificate/tmpl/default.php +++ b/src/components/com_tjcertificate/site/views/certificate/tmpl/default.php @@ -25,6 +25,7 @@ HTMLHelper::StyleSheet('media/com_tjcertificate/css/tjCertificate.css'); HTMLHelper::StyleSheet('media/com_tjlms/vendors/artificiers/artficier.css'); HTMLHelper::script('media/com_tjcertificate/vendors/html2canvas/js/html2canvas.js'); +HTMLHelper::script('media/com_tjcertificate/vendors/loader/js/loadingoverlay.min.js'); HTMLHelper::script('com_tjcertificate/certificateImage.min.js', $options); $imageUrl = ""; @@ -171,22 +172,17 @@
item->title) - { ?> - This certificate (ID: certificate->unique_certificate_id;?>) verifies that certificate->getUserId())->name; ?> has successfully completed the item->title; ?> on certificate->issued_on, Text::_('COM_TJCERTIFICATE_CERTIFICATE_DETAIL_VIEW_DATE_FORMAT'));?>. - certificate->unique_certificate_id, Factory::getUser($this->certificate->getUserId())->name, $this->item->title, HTMLHelper::_('date', $this->certificate->issued_on, Text::_('COM_TJCERTIFICATE_CERTIFICATE_DETAIL_VIEW_DATE_FORMAT'))); } else - { ?> - This certificate (ID: certificate->unique_certificate_id;?>) has been awarded to certificate->getUserId())->name; ?> on certificate->issued_on, Text::_('COM_TJCERTIFICATE_CERTIFICATE_DETAIL_VIEW_DATE_FORMAT'));?>. - certificate->unique_certificate_id, Factory::getUser($this->certificate->getUserId())->name, HTMLHelper::_('date', $this->certificate->issued_on, Text::_('COM_TJCERTIFICATE_CERTIFICATE_DETAIL_VIEW_DATE_FORMAT'))); } - ?> - certificate->getExpiry() != '0000-00-00 00:00:00') { - ?> - This Certificate expires on certificate->getExpiry(), Text::_('COM_TJCERTIFICATE_CERTIFICATE_DETAIL_VIEW_DATE_FORMAT'));?>. - certificate->getExpiry(), Text::_('COM_TJCERTIFICATE_CERTIFICATE_DETAIL_VIEW_DATE_FORMAT'))); } ?>
diff --git a/src/components/com_tjcertificate/tjcertificate.xml b/src/components/com_tjcertificate/tjcertificate.xml index b81efb91..ab275f43 100644 --- a/src/components/com_tjcertificate/tjcertificate.xml +++ b/src/components/com_tjcertificate/tjcertificate.xml @@ -8,7 +8,7 @@ extensions@techjoomla.com http://techjoomla.com - 1.0.4 + 1.0.5