Tuesday, September 12, 2017

Monday, August 28, 2017

Angular with tbSort AFTER loading of all ng-repeat





<!--class="{{{'cancelled': 'danger', 'closed': 'warning'}[sect.SECT_STATUS.toLowerCase()] || (((+sect.ENROLLED) >= (+sect.CAPACITY)) && 'warning')}}">-->
<tr ng-repeat="sect in crs.Sections" class="{{(!oldView) ? {'cancelled': 'danger', 'closed':
'warning'}[sect.SECT_STATUS.toLowerCase()] : ''}}">

<td style="vertical-align: middle" ng-repeat="col in cols" ng-if="!!allTitle || !col.hide || !col.hide(crs)" ng-bind-html="col.code(sect)"
class="media-middle {{(!oldView) ? 'highBorder' : 'highBorder'}}">
<!--{{($parent.$parent.$parent.$last &&
$parent.$parent.$last && $parent.$last && $last) &&
finish(sect)}}-->
<div ng-if="$parent.$parent.$parent.$last && $parent.$parent.$last && $parent.$last && $last">
<div ng-init="finish()"></div>
</div>






$scope.finish = function (it) {
// $scope.prnt($scope.curTerm + $scope.curSubj, true)
$scope.prnt('finish()')
if (!!$scope.wait || !$scope.loading) return
if (!!it) $scope.prnt(it)
// $('[data-toggle="tooltip"]').tooltip()
// $('[data-toggle="popover"]').popover()
$('.header').off('click').removeClass('header')
$('.tbSort').each(function () {
if ($(this).find('tr').length > 2) {
$(this).tablesorter()
}
})
// $scope.prnt($('.tbSort'))
$scope.loading = false
$scope.prnt('done')
}

Wednesday, August 16, 2017

Mapping a table or sequence to a schema

static mapping = {
    def cls = "admin"    def appName = "see"
    table     name: "${appName}_${cls}", schema: "NJITSRC"    id          column  : "${cls}_id",                generator  : 'sequence', params: [sequence: "${appName}_${cls}_sequence", schema: "NJITSRC"]

Friday, August 11, 2017

Grails Export Plugin 1.5 Controller

 def test = {

     params.exportFormat = 'pdf'     params.format = 'pdf'     params.extension = 'pdf'
     print params

     if(params?.exportFormat && params.exportFormat != "html"){

         response.contentType = grailsApplication.config.grails.mime.types[params.exportFormat]

         response.setHeader("Content-disposition", "attachment; filename=hangtags.${params.extension}")


         List<String> fields = ['id', 'address']
         Map labels = [address:"Address", deliverVia: ""]



         /* Formatter closure in previous releasesdef upperCase = { value ->   return value.toUpperCase()}*/
         // Formatter closure         def upperCase = { domain, value ->
             return value.toUpperCase()
         }

         Map formatters = [address: upperCase]
         Map parameters = [title: "Hangtags", "column.widths": [0.2, 0.3, 0.5]]

         exportService.export(params.format, response.outputStream, HangTag.list(), fields, labels, formatters, parameters)

         [HangTag: HangTag.list()]

     }
 }

Front End Validation

1. If there is an ng-del checkbox newHt and existing hangtag

ng-disabled="(${hangTag ? true : false} && !newHt)"

Passing date from Oracle timestamp/ Grails backend to Javascript/ Angular controller


res.htDateDeliveredY = res.hangTag.dateDelivered.toString()[0..3].toInteger()
res.htDateDeliveredM = (res.hangTag.dateDelivered.toString()[5..6]).toInteger() - 1res.htDateDeliveredD = res.hangTag.dateDelivered.toString()[8..9].toInteger()



$scope.htDateDelivered = new Date(${htDateDeliveredY},${htDateDeliveredM},${htDateDeliveredD})



OR


var dateDelivered = "${htDateDeliveredY}-${htDateDeliveredM}-${htDateDeliveredD}";document.getElementById("delDate").value = dateDelivered;console.log(dateDelivered);