-
Notifications
You must be signed in to change notification settings - Fork 77
/
Copy pathui-grid.validate.min.js
6 lines (6 loc) · 4.73 KB
/
ui-grid.validate.min.js
1
2
3
4
5
6
/*!
* ui-grid - v4.12.7 - 2024-04-12
* http://ui-grid.info/
* Copyright (c) 2024 ; License: MIT
*/
!function(){"use strict";var t=angular.module("ui.grid.validate",["ui.grid"]);t.service("uiGridValidateService",["$sce","$q","$http","i18nService","uiGridConstants",function(a,d,t,i,r){var s={validatorFactories:{},setExternalFactoryFunction:function(t){s.externalFactoryFunction=t},clearExternalFactory:function(){delete s.externalFactoryFunction},getValidatorFromExternalFactory:function(t,r){return s.externalFactoryFunction(t,r).validatorFactory(r)},getMessageFromExternalFactory:function(t,r){return s.externalFactoryFunction(t,r).messageFunction(r)},setValidator:function(t,r,e){s.validatorFactories[t]={validatorFactory:r,messageFunction:e}},getValidator:function(t,r){if(s.externalFactoryFunction){var e=s.getValidatorFromExternalFactory(t,r);if(e)return e}if(s.validatorFactories[t])return s.validatorFactories[t].validatorFactory(r);throw"Invalid validator name: "+t},getMessage:function(t,r){if(s.externalFactoryFunction){var e=s.getMessageFromExternalFactory(t,r);if(e)return e}return s.validatorFactories[t].messageFunction(r)},isInvalid:function(t,r){return t["$$invalid"+r.name]},setInvalid:function(t,r){t["$$invalid"+r.name]=!0},setValid:function(t,r){delete t["$$invalid"+r.name]},setError:function(t,r,e){t["$$errors"+r.name]||(t["$$errors"+r.name]={}),t["$$errors"+r.name][e]=!0},clearError:function(t,r,e){t["$$errors"+r.name]&&e in t["$$errors"+r.name]&&delete t["$$errors"+r.name][e]},getErrorMessages:function(t,r){var e=[];return t["$$errors"+r.name]&&0!==Object.keys(t["$$errors"+r.name]).length&&Object.keys(t["$$errors"+r.name]).sort().forEach(function(t){e.push(s.getMessage(t,r.validators[t]))}),e},getFormattedErrors:function(t,r){var e="",t=s.getErrorMessages(t,r);if(t.length)return t.forEach(function(t){e+=t+"<br/>"}),a.trustAsHtml("<p><b>"+i.getSafeText("validate.error")+"</b></p>"+e)},getTitleFormattedErrors:function(t,r){var e="",t=s.getErrorMessages(t,r);if(t.length)return t.forEach(function(t){e+=t+"\n"}),a.trustAsHtml(i.getSafeText("validate.error")+"\n"+e)},runValidators:function(t,r,i,n,o){if(i!==n){if(void 0===r.name||!r.name)throw new Error("colDef.name is required to perform validation");s.setValid(t,r);var e,a=[];for(e in r.validators){s.clearError(t,r,e);var l=s.getValidator(e,r.validators[e]),l=d.when(l(n,i,t,r)).then(function(r,e,a){return function(t){t||(s.setInvalid(r,e),s.setError(r,e,a),o&&o.api.validate.raise.validationFailed(r,e,i,n))}}(t,r,e));a.push(l)}return d.all(a)}},createDefaultValidators:function(){s.setValidator("minLength",function(e){return function(t,r){return null==r||""===r||r.length>=e}},function(t){return i.getSafeText("validate.minLength").replace("THRESHOLD",t)}),s.setValidator("maxLength",function(e){return function(t,r){return null==r||""===r||r.length<=e}},function(t){return i.getSafeText("validate.maxLength").replace("THRESHOLD",t)}),s.setValidator("required",function(e){return function(t,r){return!e||!(null==r||""===r)}},function(){return i.getSafeText("validate.required")})},initializeGrid:function(t,i){i.validate={isInvalid:s.isInvalid,getErrorMessages:s.getErrorMessages,getFormattedErrors:s.getFormattedErrors,getTitleFormattedErrors:s.getTitleFormattedErrors,runValidators:s.runValidators};var r={validate:{validationFailed:function(t,r,e,a){}}},e={validate:{isInvalid:function(t,r){return i.validate.isInvalid(t,r)},getErrorMessages:function(t,r){return i.validate.getErrorMessages(t,r)},getFormattedErrors:function(t,r){return i.validate.getFormattedErrors(t,r)},getTitleFormattedErrors:function(t,r){return i.validate.getTitleFormattedErrors(t,r)}}};i.api.registerEventsFromObject(r),i.api.registerMethodsFromObject(e),i.edit&&i.api.edit.on.afterCellEdit(t,function(t,r,e,a){i.validate.runValidators(t,r,e,a,i)}),s.createDefaultValidators()}};return s}]),t.directive("uiGridValidate",["gridUtil","uiGridValidateService",function(t,i){return{priority:0,replace:!0,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(t,r,e,a){i.initializeGrid(t,a.grid)},post:function(t,r,e,a){}}}}}])}(),angular.module("ui.grid.validate").run(["$templateCache",function(t){"use strict";t.put("ui-grid/cellTitleValidator",'<div class="ui-grid-cell-contents" ng-class="{invalid:grid.validate.isInvalid(row.entity,col.colDef)}" title="{{grid.validate.getTitleFormattedErrors(row.entity,col.colDef)}}">{{COL_FIELD CUSTOM_FILTERS}}</div>'),t.put("ui-grid/cellTooltipValidator",'<div class="ui-grid-cell-contents" ng-class="{invalid:grid.validate.isInvalid(row.entity,col.colDef)}" tooltip-html-unsafe="{{grid.validate.getFormattedErrors(row.entity,col.colDef)}}" tooltip-enable="grid.validate.isInvalid(row.entity,col.colDef)" tooltip-append-to-body="true" tooltip-placement="top" title="TOOLTIP">{{COL_FIELD CUSTOM_FILTERS}}</div>')}]);