angular-ui-grid
Version:
A data grid for Angular
2 lines • 5.17 kB
JavaScript
/*! For license information please see ui-grid.validate.min.js.LICENSE.txt */
(()=>{var t={526:t=>{t.exports='<div class="ui-grid-cell-contents"\n ng-class="{invalid:grid.validate.isInvalid(row.entity,col.colDef)}"\n title={{grid.validate.getTitleFormattedErrors(row.entity,col.colDef)}}>\n {{COL_FIELD CUSTOM_FILTERS}}\n</div>'},174:t=>{t.exports='<div class="ui-grid-cell-contents"\n ng-class="{invalid:grid.validate.isInvalid(row.entity,col.colDef)}"\n tooltip-html-unsafe={{grid.validate.getFormattedErrors(row.entity,col.colDef)}}\n tooltip-enable="grid.validate.isInvalid(row.entity,col.colDef)"\n tooltip-append-to-body="true"\n tooltip-placement="top"\n title="TOOLTIP">\n {{COL_FIELD CUSTOM_FILTERS}}\n</div>'},820:()=>{!function(){"use strict";var t=angular.module("ui.grid.validate",["ui.grid"]);t.service("uiGridValidateService",["$sce","$q","$http","i18nService","uiGridConstants",function(t,r,e,a,i){var n={validatorFactories:{},setExternalFactoryFunction:function(t){n.externalFactoryFunction=t},clearExternalFactory:function(){delete n.externalFactoryFunction},getValidatorFromExternalFactory:function(t,r){return n.externalFactoryFunction(t,r).validatorFactory(r)},getMessageFromExternalFactory:function(t,r){return n.externalFactoryFunction(t,r).messageFunction(r)},setValidator:function(t,r,e){n.validatorFactories[t]={validatorFactory:r,messageFunction:e}},getValidator:function(t,r){if(n.externalFactoryFunction){var e=n.getValidatorFromExternalFactory(t,r);if(e)return e}if(!n.validatorFactories[t])throw"Invalid validator name: "+t;return n.validatorFactories[t].validatorFactory(r)},getMessage:function(t,r){if(n.externalFactoryFunction){var e=n.getMessageFromExternalFactory(t,r);if(e)return e}return n.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(n.getMessage(t,r.validators[t]))})),e):e},getFormattedErrors:function(r,e){var i="",o=n.getErrorMessages(r,e);if(o.length)return o.forEach((function(t){i+=t+"<br/>"})),t.trustAsHtml("<p><b>"+a.getSafeText("validate.error")+"</b></p>"+i)},getTitleFormattedErrors:function(r,e){var i="",o=n.getErrorMessages(r,e);if(o.length)return o.forEach((function(t){i+=t+"\n"})),t.trustAsHtml(a.getSafeText("validate.error")+"\n"+i)},runValidators:function(t,e,a,i,o){if(a!==i){if(void 0===e.name||!e.name)throw new Error("colDef.name is required to perform validation");n.setValid(t,e);var l=function(t,r,e){return function(l){l||(n.setInvalid(t,r),n.setError(t,r,e),o&&o.api.validate.raise.validationFailed(t,r,a,i))}},s=[];for(var d in e.validators){n.clearError(t,e,d);var u=n.getValidator(d,e.validators[d]),c=r.when(u(i,a,t,e)).then(l(t,e,d));s.push(c)}return r.all(s)}},createDefaultValidators:function(){n.setValidator("minLength",(function(t){return function(r,e){return null==e||""===e||e.length>=t}}),(function(t){return a.getSafeText("validate.minLength").replace("THRESHOLD",t)})),n.setValidator("maxLength",(function(t){return function(r,e){return null==e||""===e||e.length<=t}}),(function(t){return a.getSafeText("validate.maxLength").replace("THRESHOLD",t)})),n.setValidator("required",(function(t){return function(r,e){return!t||!(null==e||""===e)}}),(function(){return a.getSafeText("validate.required")}))},initializeGrid:function(t,r){r.validate={isInvalid:n.isInvalid,getErrorMessages:n.getErrorMessages,getFormattedErrors:n.getFormattedErrors,getTitleFormattedErrors:n.getTitleFormattedErrors,runValidators:n.runValidators};var e={events:{validate:{validationFailed:function(t,r,e,a){}}},methods:{validate:{isInvalid:function(t,e){return r.validate.isInvalid(t,e)},getErrorMessages:function(t,e){return r.validate.getErrorMessages(t,e)},getFormattedErrors:function(t,e){return r.validate.getFormattedErrors(t,e)},getTitleFormattedErrors:function(t,e){return r.validate.getTitleFormattedErrors(t,e)}}}};r.api.registerEventsFromObject(e.events),r.api.registerMethodsFromObject(e.methods),r.edit&&r.api.edit.on.afterCellEdit(t,(function(t,e,a,i){r.validate.runValidators(t,e,a,i,r)})),n.createDefaultValidators()}};return n}]),t.directive("uiGridValidate",["gridUtil","uiGridValidateService",function(t,r){return{priority:0,replace:!0,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(t,e,a,i){r.initializeGrid(t,i.grid)},post:function(t,r,e,a){}}}}}])}()},561:(t,r,e)=>{angular.module("ui.grid.validate").run(["$templateCache",function(t){"use strict";t.put("ui-grid/cellTitleValidator",e(526)),t.put("ui-grid/cellTooltipValidator",e(174))}])}},r={};function e(a){var i=r[a];if(void 0!==i)return i.exports;var n=r[a]={exports:{}};return t[a](n,n.exports,e),n.exports}e(820),e(561)})();