diff --git a/bower.json b/bower.json index 10db4a55..43d68d72 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "ng-admin", - "version": "0.0.1", + "version": "0.2.1", "dependencies": { "angular": "~1.2.16", "angular-bootstrap": "~0.11.0", diff --git a/build/ng-admin.min.js b/build/ng-admin.min.js index a2c09baf..27fb1d2b 100644 --- a/build/ng-admin.min.js +++ b/build/ng-admin.min.js @@ -10,5 +10,5 @@ return-1},X.findKey=function(a,b,c){var e;return b=X.createCallback(b,c,3),d(a,f },keys:function(){for(var b=[],c=0;c0),i()})}function i(){if(k&&-1==g()){var a=l;j(k,l,150,function(){a.$destroy(),a=null}),k=void 0,l=void 0}}function j(c,d,e,f){function g(){g.done||(g.done=!0,c.remove(),f&&f())}d.animate=!1;var h=a.transitionEndEventName;if(h){var i=b(g,e);c.bind(h,function(){b.cancel(i),g(),d.$apply()})}else b(g,0)}var k,l,m="modal-open",n=f.createNew(),o={};return e.$watch(g,function(a){l&&(l.index=a)}),c.bind("keydown",function(a){var b;27===a.which&&(b=n.top(),b&&b.value.keyboard&&(a.preventDefault(),e.$apply(function(){o.dismiss(b.key,"escape key press")})))}),o.open=function(a,b){n.add(a,{deferred:b.deferred,modalScope:b.scope,backdrop:b.backdrop,keyboard:b.keyboard});var f=c.find("body").eq(0),h=g();h>=0&&!k&&(l=e.$new(!0),l.index=h,k=d("
")(l),f.append(k));var i=angular.element("
");i.attr({"template-url":b.windowTemplateUrl,"window-class":b.windowClass,size:b.size,index:n.length()-1,animate:"animate"}).html(b.content);var j=d(i)(b.scope);n.top().value.modalDomEl=j,f.append(j),f.addClass(m)},o.close=function(a,b){var c=n.get(a).value;c&&(c.deferred.resolve(b),h(a))},o.dismiss=function(a,b){var c=n.get(a).value;c&&(c.deferred.reject(b),h(a))},o.dismissAll=function(a){for(var b=this.getTop();b;)this.dismiss(b.key,a),b=this.getTop()},o.getTop=function(){return n.top()},o}]).provider("$modal",function(){var a={options:{backdrop:!0,keyboard:!0},$get:["$injector","$rootScope","$q","$http","$templateCache","$controller","$modalStack",function(b,c,d,e,f,g,h){function i(a){return a.template?d.when(a.template):e.get(a.templateUrl,{cache:f}).then(function(a){return a.data})}function j(a){var c=[];return angular.forEach(a,function(a){(angular.isFunction(a)||angular.isArray(a))&&c.push(d.when(b.invoke(a)))}),c}var k={};return k.open=function(b){var e=d.defer(),f=d.defer(),k={result:e.promise,opened:f.promise,close:function(a){h.close(k,a)},dismiss:function(a){h.dismiss(k,a)}};if(b=angular.extend({},a.options,b),b.resolve=b.resolve||{},!b.template&&!b.templateUrl)throw new Error("One of template or templateUrl options is required.");var l=d.all([i(b)].concat(j(b.resolve)));return l.then(function(a){var d=(b.scope||c).$new();d.$close=k.close,d.$dismiss=k.dismiss;var f,i={},j=1;b.controller&&(i.$scope=d,i.$modalInstance=k,angular.forEach(b.resolve,function(b,c){i[c]=a[j++]}),f=g(b.controller,i)),h.open(k,{scope:d,deferred:e,content:a[0],backdrop:b.backdrop,keyboard:b.keyboard,windowClass:b.windowClass,windowTemplateUrl:b.windowTemplateUrl,size:b.size})},function(a){e.reject(a)}),l.then(function(){f.resolve(!0)},function(){f.reject(!1)}),k},k}]};return a}),angular.module("ui.bootstrap.pagination",[]).controller("PaginationController",["$scope","$attrs","$parse",function(a,b,c){var d=this,e={$setViewValue:angular.noop},f=b.numPages?c(b.numPages).assign:angular.noop;this.init=function(f,g){e=f,this.config=g,e.$render=function(){d.render()},b.itemsPerPage?a.$parent.$watch(c(b.itemsPerPage),function(b){d.itemsPerPage=parseInt(b,10),a.totalPages=d.calculateTotalPages()}):this.itemsPerPage=g.itemsPerPage},this.calculateTotalPages=function(){var b=this.itemsPerPage<1?1:Math.ceil(a.totalItems/this.itemsPerPage);return Math.max(b||0,1)},this.render=function(){a.page=parseInt(e.$viewValue,10)||1},a.selectPage=function(b){a.page!==b&&b>0&&b<=a.totalPages&&(e.$setViewValue(b),e.$render())},a.getText=function(b){return a[b+"Text"]||d.config[b+"Text"]},a.noPrevious=function(){return 1===a.page},a.noNext=function(){return a.page===a.totalPages},a.$watch("totalItems",function(){a.totalPages=d.calculateTotalPages()}),a.$watch("totalPages",function(b){f(a.$parent,b),a.page>b?a.selectPage(b):e.$render()})}]).constant("paginationConfig",{itemsPerPage:10,boundaryLinks:!1,directionLinks:!0,firstText:"First",previousText:"Previous",nextText:"Next",lastText:"Last",rotate:!0}).directive("pagination",["$parse","paginationConfig",function(a,b){return{restrict:"EA",scope:{totalItems:"=",firstText:"@",previousText:"@",nextText:"@",lastText:"@"},require:["pagination","?ngModel"],controller:"PaginationController",templateUrl:"template/pagination/pagination.html",replace:!0,link:function(c,d,e,f){function g(a,b,c){return{number:a,text:b,active:c}}function h(a,b){var c=[],d=1,e=b,f=angular.isDefined(k)&&b>k;f&&(l?(d=Math.max(a-Math.floor(k/2),1),e=d+k-1,e>b&&(e=b,d=e-k+1)):(d=(Math.ceil(a/k)-1)*k+1,e=Math.min(d+k-1,b)));for(var h=d;e>=h;h++){var i=g(h,h,h===a);c.push(i)}if(f&&!l){if(d>1){var j=g(d-1,"...",!1);c.unshift(j)}if(b>e){var m=g(e+1,"...",!1);c.push(m)}}return c}var i=f[0],j=f[1];if(j){var k=angular.isDefined(e.maxSize)?c.$parent.$eval(e.maxSize):b.maxSize,l=angular.isDefined(e.rotate)?c.$parent.$eval(e.rotate):b.rotate;c.boundaryLinks=angular.isDefined(e.boundaryLinks)?c.$parent.$eval(e.boundaryLinks):b.boundaryLinks,c.directionLinks=angular.isDefined(e.directionLinks)?c.$parent.$eval(e.directionLinks):b.directionLinks,i.init(j,b),e.maxSize&&c.$parent.$watch(a(e.maxSize),function(a){k=parseInt(a,10),i.render()});var m=i.render;i.render=function(){m(),c.page>0&&c.page<=c.totalPages&&(c.pages=h(c.page,c.totalPages))}}}}}]).constant("pagerConfig",{itemsPerPage:10,previousText:"« Previous",nextText:"Next »",align:!0}).directive("pager",["pagerConfig",function(a){return{restrict:"EA",scope:{totalItems:"=",previousText:"@",nextText:"@"},require:["pager","?ngModel"],controller:"PaginationController",templateUrl:"template/pagination/pager.html",replace:!0,link:function(b,c,d,e){var f=e[0],g=e[1];g&&(b.align=angular.isDefined(d.align)?b.$parent.$eval(d.align):a.align,f.init(g,a))}}}]),angular.module("ui.bootstrap.tooltip",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).provider("$tooltip",function(){function a(a){var b=/[A-Z]/g,c="-";return a.replace(b,function(a,b){return(b?c:"")+a.toLowerCase()})}var b={placement:"top",animation:!0,popupDelay:0},c={mouseenter:"mouseleave",click:"click",focus:"blur"},d={};this.options=function(a){angular.extend(d,a)},this.setTriggers=function(a){angular.extend(c,a)},this.$get=["$window","$compile","$timeout","$parse","$document","$position","$interpolate",function(e,f,g,h,i,j,k){return function(e,l,m){function n(a){var b=a||o.trigger||m,d=c[b]||b;return{show:b,hide:d}}var o=angular.extend({},b,d),p=a(e),q=k.startSymbol(),r=k.endSymbol(),s="
';return{restrict:"EA",scope:!0,compile:function(){var a=f(s);return function(b,c,d){function f(){b.tt_isOpen?m():k()}function k(){(!y||b.$eval(d[l+"Enable"]))&&(b.tt_popupDelay?v||(v=g(p,b.tt_popupDelay,!1),v.then(function(a){a()})):p()())}function m(){b.$apply(function(){q()})}function p(){return v=null,u&&(g.cancel(u),u=null),b.tt_content?(r(),t.css({top:0,left:0,display:"block"}),w?i.find("body").append(t):c.after(t),z(),b.tt_isOpen=!0,b.$digest(),z):angular.noop}function q(){b.tt_isOpen=!1,g.cancel(v),v=null,b.tt_animation?u||(u=g(s,500)):s()}function r(){t&&s(),t=a(b,function(){}),b.$digest()}function s(){u=null,t&&(t.remove(),t=null)}var t,u,v,w=angular.isDefined(o.appendToBody)?o.appendToBody:!1,x=n(void 0),y=angular.isDefined(d[l+"Enable"]),z=function(){var a=j.positionElements(c,t,b.tt_placement,w);a.top+="px",a.left+="px",t.css(a)};b.tt_isOpen=!1,d.$observe(e,function(a){b.tt_content=a,!a&&b.tt_isOpen&&q()}),d.$observe(l+"Title",function(a){b.tt_title=a}),d.$observe(l+"Placement",function(a){b.tt_placement=angular.isDefined(a)?a:o.placement}),d.$observe(l+"PopupDelay",function(a){var c=parseInt(a,10);b.tt_popupDelay=isNaN(c)?o.popupDelay:c});var A=function(){c.unbind(x.show,k),c.unbind(x.hide,m)};d.$observe(l+"Trigger",function(a){A(),x=n(a),x.show===x.hide?c.bind(x.show,f):(c.bind(x.show,k),c.bind(x.hide,m))});var B=b.$eval(d[l+"Animation"]);b.tt_animation=angular.isDefined(B)?!!B:o.animation,d.$observe(l+"AppendToBody",function(a){w=angular.isDefined(a)?h(a)(b):w}),w&&b.$on("$locationChangeSuccess",function(){b.tt_isOpen&&q()}),b.$on("$destroy",function(){g.cancel(u),g.cancel(v),A(),s()})}}}}}]}).directive("tooltipPopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-popup.html"}}).directive("tooltip",["$tooltip",function(a){return a("tooltip","tooltip","mouseenter")}]).directive("tooltipHtmlUnsafePopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-html-unsafe-popup.html"}}).directive("tooltipHtmlUnsafe",["$tooltip",function(a){return a("tooltipHtmlUnsafe","tooltip","mouseenter")}]),angular.module("ui.bootstrap.popover",["ui.bootstrap.tooltip"]).directive("popoverPopup",function(){return{restrict:"EA",replace:!0,scope:{title:"@",content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/popover/popover.html"}}).directive("popover",["$tooltip",function(a){return a("popover","popover","click")}]),angular.module("ui.bootstrap.progressbar",[]).constant("progressConfig",{animate:!0,max:100}).controller("ProgressController",["$scope","$attrs","progressConfig",function(a,b,c){var d=this,e=angular.isDefined(b.animate)?a.$parent.$eval(b.animate):c.animate;this.bars=[],a.max=angular.isDefined(b.max)?a.$parent.$eval(b.max):c.max,this.addBar=function(b,c){e||c.css({transition:"none"}),this.bars.push(b),b.$watch("value",function(c){b.percent=+(100*c/a.max).toFixed(2)}),b.$on("$destroy",function(){c=null,d.removeBar(b)})},this.removeBar=function(a){this.bars.splice(this.bars.indexOf(a),1)}}]).directive("progress",function(){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",require:"progress",scope:{},templateUrl:"template/progressbar/progress.html"}}).directive("bar",function(){return{restrict:"EA",replace:!0,transclude:!0,require:"^progress",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/bar.html",link:function(a,b,c,d){d.addBar(a,b)}}}).directive("progressbar",function(){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/progressbar.html",link:function(a,b,c,d){d.addBar(a,angular.element(b.children()[0]))}}}),angular.module("ui.bootstrap.rating",[]).constant("ratingConfig",{max:5,stateOn:null,stateOff:null}).controller("RatingController",["$scope","$attrs","ratingConfig",function(a,b,c){var d={$setViewValue:angular.noop};this.init=function(e){d=e,d.$render=this.render,this.stateOn=angular.isDefined(b.stateOn)?a.$parent.$eval(b.stateOn):c.stateOn,this.stateOff=angular.isDefined(b.stateOff)?a.$parent.$eval(b.stateOff):c.stateOff;var f=angular.isDefined(b.ratingStates)?a.$parent.$eval(b.ratingStates):new Array(angular.isDefined(b.max)?a.$parent.$eval(b.max):c.max);a.range=this.buildTemplateObjects(f)},this.buildTemplateObjects=function(a){for(var b=0,c=a.length;c>b;b++)a[b]=angular.extend({index:b},{stateOn:this.stateOn,stateOff:this.stateOff},a[b]);return a},a.rate=function(b){!a.readonly&&b>=0&&b<=a.range.length&&(d.$setViewValue(b),d.$render())},a.enter=function(b){a.readonly||(a.value=b),a.onHover({value:b})},a.reset=function(){a.value=d.$viewValue,a.onLeave()},a.onKeydown=function(b){/(37|38|39|40)/.test(b.which)&&(b.preventDefault(),b.stopPropagation(),a.rate(a.value+(38===b.which||39===b.which?1:-1)))},this.render=function(){a.value=d.$viewValue}}]).directive("rating",function(){return{restrict:"EA",require:["rating","ngModel"],scope:{readonly:"=?",onHover:"&",onLeave:"&"},controller:"RatingController",templateUrl:"template/rating/rating.html",replace:!0,link:function(a,b,c,d){var e=d[0],f=d[1];f&&e.init(f)}}}),angular.module("ui.bootstrap.tabs",[]).controller("TabsetController",["$scope",function(a){var b=this,c=b.tabs=a.tabs=[];b.select=function(a){angular.forEach(c,function(b){b.active&&b!==a&&(b.active=!1,b.onDeselect())}),a.active=!0,a.onSelect()},b.addTab=function(a){c.push(a),1===c.length?a.active=!0:a.active&&b.select(a)},b.removeTab=function(a){var d=c.indexOf(a);if(a.active&&c.length>1){var e=d==c.length-1?d-1:d+1;b.select(c[e])}c.splice(d,1)}}]).directive("tabset",function(){return{restrict:"EA",transclude:!0,replace:!0,scope:{type:"@"},controller:"TabsetController",templateUrl:"template/tabs/tabset.html",link:function(a,b,c){a.vertical=angular.isDefined(c.vertical)?a.$parent.$eval(c.vertical):!1,a.justified=angular.isDefined(c.justified)?a.$parent.$eval(c.justified):!1}}}).directive("tab",["$parse",function(a){return{require:"^tabset",restrict:"EA",replace:!0,templateUrl:"template/tabs/tab.html",transclude:!0,scope:{active:"=?",heading:"@",onSelect:"&select",onDeselect:"&deselect"},controller:function(){},compile:function(b,c,d){return function(b,c,e,f){b.$watch("active",function(a){a&&f.select(b)}),b.disabled=!1,e.disabled&&b.$parent.$watch(a(e.disabled),function(a){b.disabled=!!a}),b.select=function(){b.disabled||(b.active=!0)},f.addTab(b),b.$on("$destroy",function(){f.removeTab(b)}),b.$transcludeFn=d}}}}]).directive("tabHeadingTransclude",[function(){return{restrict:"A",require:"^tab",link:function(a,b){a.$watch("headingElement",function(a){a&&(b.html(""),b.append(a))})}}}]).directive("tabContentTransclude",function(){function a(a){return a.tagName&&(a.hasAttribute("tab-heading")||a.hasAttribute("data-tab-heading")||"tab-heading"===a.tagName.toLowerCase()||"data-tab-heading"===a.tagName.toLowerCase())}return{restrict:"A",require:"^tabset",link:function(b,c,d){var e=b.$eval(d.tabContentTransclude);e.$transcludeFn(e.$parent,function(b){angular.forEach(b,function(b){a(b)?e.headingElement=b:c.append(b)})})}}}),angular.module("ui.bootstrap.timepicker",[]).constant("timepickerConfig",{hourStep:1,minuteStep:1,showMeridian:!0,meridians:null,readonlyInput:!1,mousewheel:!0}).controller("TimepickerController",["$scope","$attrs","$parse","$log","$locale","timepickerConfig",function(a,b,c,d,e,f){function g(){var b=parseInt(a.hours,10),c=a.showMeridian?b>0&&13>b:b>=0&&24>b;return c?(a.showMeridian&&(12===b&&(b=0),a.meridian===p[1]&&(b+=12)),b):void 0}function h(){var b=parseInt(a.minutes,10);return b>=0&&60>b?b:void 0}function i(a){return angular.isDefined(a)&&a.toString().length<2?"0"+a:a}function j(a){k(),o.$setViewValue(new Date(n)),l(a)}function k(){o.$setValidity("time",!0),a.invalidHours=!1,a.invalidMinutes=!1}function l(b){var c=n.getHours(),d=n.getMinutes();a.showMeridian&&(c=0===c||12===c?12:c%12),a.hours="h"===b?c:i(c),a.minutes="m"===b?d:i(d),a.meridian=n.getHours()<12?p[0]:p[1]}function m(a){var b=new Date(n.getTime()+6e4*a);n.setHours(b.getHours(),b.getMinutes()),j()}var n=new Date,o={$setViewValue:angular.noop},p=angular.isDefined(b.meridians)?a.$parent.$eval(b.meridians):f.meridians||e.DATETIME_FORMATS.AMPMS;this.init=function(c,d){o=c,o.$render=this.render;var e=d.eq(0),g=d.eq(1),h=angular.isDefined(b.mousewheel)?a.$parent.$eval(b.mousewheel):f.mousewheel;h&&this.setupMousewheelEvents(e,g),a.readonlyInput=angular.isDefined(b.readonlyInput)?a.$parent.$eval(b.readonlyInput):f.readonlyInput,this.setupInputEvents(e,g)};var q=f.hourStep;b.hourStep&&a.$parent.$watch(c(b.hourStep),function(a){q=parseInt(a,10)});var r=f.minuteStep;b.minuteStep&&a.$parent.$watch(c(b.minuteStep),function(a){r=parseInt(a,10)}),a.showMeridian=f.showMeridian,b.showMeridian&&a.$parent.$watch(c(b.showMeridian),function(b){if(a.showMeridian=!!b,o.$error.time){var c=g(),d=h();angular.isDefined(c)&&angular.isDefined(d)&&(n.setHours(c),j())}else l()}),this.setupMousewheelEvents=function(b,c){var d=function(a){a.originalEvent&&(a=a.originalEvent);var b=a.wheelDelta?a.wheelDelta:-a.deltaY;return a.detail||b>0};b.bind("mousewheel wheel",function(b){a.$apply(d(b)?a.incrementHours():a.decrementHours()),b.preventDefault()}),c.bind("mousewheel wheel",function(b){a.$apply(d(b)?a.incrementMinutes():a.decrementMinutes()),b.preventDefault()})},this.setupInputEvents=function(b,c){if(a.readonlyInput)return a.updateHours=angular.noop,void(a.updateMinutes=angular.noop);var d=function(b,c){o.$setViewValue(null),o.$setValidity("time",!1),angular.isDefined(b)&&(a.invalidHours=b),angular.isDefined(c)&&(a.invalidMinutes=c)};a.updateHours=function(){var a=g();angular.isDefined(a)?(n.setHours(a),j("h")):d(!0)},b.bind("blur",function(){!a.invalidHours&&a.hours<10&&a.$apply(function(){a.hours=i(a.hours)})}),a.updateMinutes=function(){var a=h();angular.isDefined(a)?(n.setMinutes(a),j("m")):d(void 0,!0)},c.bind("blur",function(){!a.invalidMinutes&&a.minutes<10&&a.$apply(function(){a.minutes=i(a.minutes)})})},this.render=function(){var a=o.$modelValue?new Date(o.$modelValue):null;isNaN(a)?(o.$setValidity("time",!1),d.error('Timepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.')):(a&&(n=a),k(),l())},a.incrementHours=function(){m(60*q)},a.decrementHours=function(){m(60*-q)},a.incrementMinutes=function(){m(r)},a.decrementMinutes=function(){m(-r)},a.toggleMeridian=function(){m(720*(n.getHours()<12?1:-1))}}]).directive("timepicker",function(){return{restrict:"EA",require:["timepicker","?^ngModel"],controller:"TimepickerController",replace:!0,scope:{},templateUrl:"template/timepicker/timepicker.html",link:function(a,b,c,d){var e=d[0],f=d[1];f&&e.init(f,b.find("input"))}}}),angular.module("ui.bootstrap.typeahead",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).factory("typeaheadParser",["$parse",function(a){var b=/^\s*(.*?)(?:\s+as\s+(.*?))?\s+for\s+(?:([\$\w][\$\w\d]*))\s+in\s+(.*)$/;return{parse:function(c){var d=c.match(b);if(!d)throw new Error('Expected typeahead specification in form of "_modelValue_ (as _label_)? for _item_ in _collection_" but got "'+c+'".');return{itemName:d[3],source:a(d[4]),viewMapper:a(d[2]||d[1]),modelMapper:a(d[1])}}}}]).directive("typeahead",["$compile","$parse","$q","$timeout","$document","$position","typeaheadParser",function(a,b,c,d,e,f,g){var h=[9,13,27,38,40];return{require:"ngModel",link:function(i,j,k,l){var m,n=i.$eval(k.typeaheadMinLength)||1,o=i.$eval(k.typeaheadWaitMs)||0,p=i.$eval(k.typeaheadEditable)!==!1,q=b(k.typeaheadLoading).assign||angular.noop,r=b(k.typeaheadOnSelect),s=k.typeaheadInputFormatter?b(k.typeaheadInputFormatter):void 0,t=k.typeaheadAppendToBody?i.$eval(k.typeaheadAppendToBody):!1,u=b(k.ngModel).assign,v=g.parse(k.typeahead),w=i.$new();i.$on("$destroy",function(){w.$destroy()});var x="typeahead-"+w.$id+"-"+Math.floor(1e4*Math.random());j.attr({"aria-autocomplete":"list","aria-expanded":!1,"aria-owns":x});var y=angular.element("
");y.attr({id:x,matches:"matches",active:"activeIdx",select:"select(activeIdx)",query:"query",position:"position"}),angular.isDefined(k.typeaheadTemplateUrl)&&y.attr("template-url",k.typeaheadTemplateUrl);var z=function(){w.matches=[],w.activeIdx=-1,j.attr("aria-expanded",!1)},A=function(a){return x+"-option-"+a};w.$watch("activeIdx",function(a){0>a?j.removeAttr("aria-activedescendant"):j.attr("aria-activedescendant",A(a))});var B=function(a){var b={$viewValue:a};q(i,!0),c.when(v.source(i,b)).then(function(c){var d=a===l.$viewValue;if(d&&m)if(c.length>0){w.activeIdx=0,w.matches.length=0;for(var e=0;e=n?o>0?(C&&d.cancel(C),C=d(function(){B(a)},o)):B(a):(q(i,!1),z()),p?a:a?void l.$setValidity("editable",!1):(l.$setValidity("editable",!0),a)}),l.$formatters.push(function(a){var b,c,d={};return s?(d.$model=a,s(i,d)):(d[v.itemName]=a,b=v.viewMapper(i,d),d[v.itemName]=void 0,c=v.viewMapper(i,d),b!==c?b:a)}),w.select=function(a){var b,c,e={};e[v.itemName]=c=w.matches[a].model,b=v.modelMapper(i,e),u(i,b),l.$setValidity("editable",!0),r(i,{$item:c,$model:b,$label:v.viewMapper(i,e)}),z(),d(function(){j[0].focus()},0,!1)},j.bind("keydown",function(a){0!==w.matches.length&&-1!==h.indexOf(a.which)&&(a.preventDefault(),40===a.which?(w.activeIdx=(w.activeIdx+1)%w.matches.length,w.$digest()):38===a.which?(w.activeIdx=(w.activeIdx?w.activeIdx:w.matches.length)-1,w.$digest()):13===a.which||9===a.which?w.$apply(function(){w.select(w.activeIdx)}):27===a.which&&(a.stopPropagation(),z(),w.$digest()))}),j.bind("blur",function(){m=!1});var D=function(a){j[0]!==a.target&&(z(),w.$digest())};e.bind("click",D),i.$on("$destroy",function(){e.unbind("click",D)});var E=a(y)(w);t?e.find("body").append(E):j.after(E)}}}]).directive("typeaheadPopup",function(){return{restrict:"EA",scope:{matches:"=",query:"=",active:"=",position:"=",select:"&"},replace:!0,templateUrl:"template/typeahead/typeahead-popup.html",link:function(a,b,c){a.templateUrl=c.templateUrl,a.isOpen=function(){return a.matches.length>0},a.isActive=function(b){return a.active==b},a.selectActive=function(b){a.active=b},a.selectMatch=function(b){a.select({activeIdx:b})}}}}).directive("typeaheadMatch",["$http","$templateCache","$compile","$parse",function(a,b,c,d){return{restrict:"EA",scope:{index:"=",match:"=",query:"="},link:function(e,f,g){var h=d(g.templateUrl)(e.$parent)||"template/typeahead/typeahead-match.html";a.get(h,{cache:b}).success(function(a){f.replaceWith(c(a.trim())(e))})}}}]).filter("typeaheadHighlight",function(){function a(a){return a.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}return function(b,c){return c?(""+b).replace(new RegExp(a(c),"gi"),"$&"):b}}),angular.module("template/accordion/accordion-group.html",[]).run(["$templateCache",function(a){a.put("template/accordion/accordion-group.html",'
\n
\n

\n {{heading}}\n

\n
\n
\n
\n
\n
')}]),angular.module("template/accordion/accordion.html",[]).run(["$templateCache",function(a){a.put("template/accordion/accordion.html",'
')}]),angular.module("template/alert/alert.html",[]).run(["$templateCache",function(a){a.put("template/alert/alert.html",'\n')}]),angular.module("template/carousel/carousel.html",[]).run(["$templateCache",function(a){a.put("template/carousel/carousel.html",'\n')}]),angular.module("template/carousel/slide.html",[]).run(["$templateCache",function(a){a.put("template/carousel/slide.html","
\n")}]),angular.module("template/datepicker/datepicker.html",[]).run(["$templateCache",function(a){a.put("template/datepicker/datepicker.html",'
\n \n \n \n
')}]),angular.module("template/datepicker/day.html",[]).run(["$templateCache",function(a){a.put("template/datepicker/day.html",'\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{label.abbr}}
{{ weekNumbers[$index] }}\n \n
\n')}]),angular.module("template/datepicker/month.html",[]).run(["$templateCache",function(a){a.put("template/datepicker/month.html",'\n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n')}]),angular.module("template/datepicker/popup.html",[]).run(["$templateCache",function(a){a.put("template/datepicker/popup.html",'\n')}]),angular.module("template/datepicker/year.html",[]).run(["$templateCache",function(a){a.put("template/datepicker/year.html",'\n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n')}]),angular.module("template/modal/backdrop.html",[]).run(["$templateCache",function(a){a.put("template/modal/backdrop.html",'\n')}]),angular.module("template/modal/window.html",[]).run(["$templateCache",function(a){a.put("template/modal/window.html",'')}]),angular.module("template/pagination/pager.html",[]).run(["$templateCache",function(a){a.put("template/pagination/pager.html",'') }]),angular.module("template/pagination/pagination.html",[]).run(["$templateCache",function(a){a.put("template/pagination/pagination.html",'')}]),angular.module("template/tooltip/tooltip-html-unsafe-popup.html",[]).run(["$templateCache",function(a){a.put("template/tooltip/tooltip-html-unsafe-popup.html",'
\n
\n
\n
\n')}]),angular.module("template/tooltip/tooltip-popup.html",[]).run(["$templateCache",function(a){a.put("template/tooltip/tooltip-popup.html",'
\n
\n
\n
\n')}]),angular.module("template/popover/popover.html",[]).run(["$templateCache",function(a){a.put("template/popover/popover.html",'
\n
\n\n
\n

\n
\n
\n
\n')}]),angular.module("template/progressbar/bar.html",[]).run(["$templateCache",function(a){a.put("template/progressbar/bar.html",'
')}]),angular.module("template/progressbar/progress.html",[]).run(["$templateCache",function(a){a.put("template/progressbar/progress.html",'
')}]),angular.module("template/progressbar/progressbar.html",[]).run(["$templateCache",function(a){a.put("template/progressbar/progressbar.html",'
\n
\n
')}]),angular.module("template/rating/rating.html",[]).run(["$templateCache",function(a){a.put("template/rating/rating.html",'\n \n ({{ $index < value ? \'*\' : \' \' }})\n \n')}]),angular.module("template/tabs/tab.html",[]).run(["$templateCache",function(a){a.put("template/tabs/tab.html",'
  • \n {{heading}}\n
  • \n')}]),angular.module("template/tabs/tabset-titles.html",[]).run(["$templateCache",function(a){a.put("template/tabs/tabset-titles.html","\n")}]),angular.module("template/tabs/tabset.html",[]).run(["$templateCache",function(a){a.put("template/tabs/tabset.html",'\n
    \n \n
    \n
    \n
    \n
    \n
    \n')}]),angular.module("template/timepicker/timepicker.html",[]).run(["$templateCache",function(a){a.put("template/timepicker/timepicker.html",'\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
     
    \n \n :\n \n
     
    \n')}]),angular.module("template/typeahead/typeahead-match.html",[]).run(["$templateCache",function(a){a.put("template/typeahead/typeahead-match.html",'')}]),angular.module("template/typeahead/typeahead-popup.html",[]).run(["$templateCache",function(a){a.put("template/typeahead/typeahead-popup.html",'')}]),c("angular-bootstrap-tpls",["angular","angular-bootstrap"],function(){}),!function(a,b){b["true"]=a,angular.module("textAngularSetup",[]).value("taOptions",{toolbar:[["h1","h2","h3","h4","h5","h6","p","pre","quote"],["bold","italics","underline","ul","ol","redo","undo","clear"],["justifyLeft","justifyCenter","justifyRight","indent","outdent"],["html","insertImage","insertLink","insertVideo"]],classes:{focussed:"focussed",toolbar:"btn-toolbar",toolbarGroup:"btn-group",toolbarButton:"btn btn-default",toolbarButtonActive:"active",disabled:"disabled",textEditor:"form-control",htmlEditor:"form-control"},setup:{textEditorSetup:function(){},htmlEditorSetup:function(){}},defaultFileDropHandler:function(a,b){var c=new FileReader;return"image"===a.type.substring(0,5)?(c.onload=function(){""!==c.result&&b("insertImage",c.result,!0)},c.readAsDataURL(a),!0):!1}}).value("taSelectableElements",["a","img"]).value("taCustomRenderers",[{selector:"img",customAttribute:"ta-insert-video",renderLogic:function(a){var b=angular.element(""),c=a.prop("attributes");angular.forEach(c,function(a){b.attr(a.name,a.value)}),b.attr("src",b.attr("ta-insert-video")),a.replaceWith(b)}}]).constant("taTranslations",{html:{buttontext:"Toggle HTML",tooltip:"Toggle html / Rich Text"},heading:{tooltip:"Heading "},p:{tooltip:"Paragraph"},pre:{tooltip:"Preformatted text"},ul:{tooltip:"Unordered List"},ol:{tooltip:"Ordered List"},quote:{tooltip:"Quote/unqoute selection or paragraph"},undo:{tooltip:"Undo"},redo:{tooltip:"Redo"},bold:{tooltip:"Bold"},italic:{tooltip:"Italic"},underline:{tooltip:"Underline"},justifyLeft:{tooltip:"Align text left"},justifyRight:{tooltip:"Align text right"},justifyCenter:{tooltip:"Center"},indent:{tooltip:"Increase indent"},outdent:{tooltip:"Decrease indent"},clear:{tooltip:"Clear formatting"},insertImage:{dialogPrompt:"Please enter an image URL to insert",tooltip:"Insert image",hotkey:"the - possibly language dependent hotkey ... for some future implementation"},insertVideo:{tooltip:"Insert video",dialogPrompt:"Please enter a youtube URL to embed"},insertLink:{tooltip:"Insert / edit link",dialogPrompt:"Please enter a URL to insert"}}).run(["taRegisterTool","$window","taTranslations","taSelection",function(a,b,c,d){a("html",{buttontext:c.html.buttontext,tooltiptext:c.html.tooltip,action:function(){this.$editor().switchView()},activeState:function(){return this.$editor().showHtml}});var e=function(a){return function(){return this.$editor().queryFormatBlockState(a)}},f=function(){return this.$editor().wrapSelection("formatBlock","<"+this.name.toUpperCase()+">")};angular.forEach(["h1","h2","h3","h4","h5","h6"],function(b){a(b.toLowerCase(),{buttontext:b.toUpperCase(),tooltiptext:c.heading.tooltip+b.charAt(1),action:f,activeState:e(b.toLowerCase())})}),a("p",{buttontext:"P",tooltiptext:c.p.tooltip,action:function(){return this.$editor().wrapSelection("formatBlock","

    ")},activeState:function(){return this.$editor().queryFormatBlockState("p")}}),a("pre",{buttontext:"pre",tooltiptext:c.pre.tooltip,action:function(){return this.$editor().wrapSelection("formatBlock","

    ")},activeState:function(){return this.$editor().queryFormatBlockState("pre")}}),a("ul",{iconclass:"fa fa-list-ul",tooltiptext:c.ul.tooltip,action:function(){return this.$editor().wrapSelection("insertUnorderedList",null)},activeState:function(){return this.$editor().queryCommandState("insertUnorderedList")}}),a("ol",{iconclass:"fa fa-list-ol",tooltiptext:c.ol.tooltip,action:function(){return this.$editor().wrapSelection("insertOrderedList",null)},activeState:function(){return this.$editor().queryCommandState("insertOrderedList")}}),a("quote",{iconclass:"fa fa-quote-right",tooltiptext:c.quote.tooltip,action:function(){return this.$editor().wrapSelection("formatBlock","
    ")},activeState:function(){return this.$editor().queryFormatBlockState("blockquote")}}),a("undo",{iconclass:"fa fa-undo",tooltiptext:c.undo.tooltip,action:function(){return this.$editor().wrapSelection("undo",null)}}),a("redo",{iconclass:"fa fa-repeat",tooltiptext:c.redo.tooltip,action:function(){return this.$editor().wrapSelection("redo",null)}}),a("bold",{iconclass:"fa fa-bold",tooltiptext:c.bold.tooltip,action:function(){return this.$editor().wrapSelection("bold",null)},activeState:function(){return this.$editor().queryCommandState("bold")},commandKeyCode:98}),a("justifyLeft",{iconclass:"fa fa-align-left",tooltiptext:c.justifyLeft.tooltip,action:function(){return this.$editor().wrapSelection("justifyLeft",null)},activeState:function(a){var b=!1;return a&&(b="left"===a.css("text-align")||"left"===a.attr("align")||"right"!==a.css("text-align")&&"center"!==a.css("text-align")&&!this.$editor().queryCommandState("justifyRight")&&!this.$editor().queryCommandState("justifyCenter")),b=b||this.$editor().queryCommandState("justifyLeft")}}),a("justifyRight",{iconclass:"fa fa-align-right",tooltiptext:c.justifyRight.tooltip,action:function(){return this.$editor().wrapSelection("justifyRight",null)},activeState:function(a){var b=!1;return a&&(b="right"===a.css("text-align")),b=b||this.$editor().queryCommandState("justifyRight")}}),a("justifyCenter",{iconclass:"fa fa-align-center",tooltiptext:c.justifyCenter.tooltip,action:function(){return this.$editor().wrapSelection("justifyCenter",null)},activeState:function(a){var b=!1;return a&&(b="center"===a.css("text-align")),b=b||this.$editor().queryCommandState("justifyCenter")}}),a("indent",{iconclass:"fa fa-indent",tooltiptext:c.indent.tooltip,action:function(){return this.$editor().wrapSelection("indent",null)},activeState:function(){return this.$editor().queryFormatBlockState("blockquote")}}),a("outdent",{iconclass:"fa fa-outdent",tooltiptext:c.outdent.tooltip,action:function(){return this.$editor().wrapSelection("outdent",null)},activeState:function(){return!1}}),a("italics",{iconclass:"fa fa-italic",tooltiptext:c.italic.tooltip,action:function(){return this.$editor().wrapSelection("italic",null)},activeState:function(){return this.$editor().queryCommandState("italic")},commandKeyCode:105}),a("underline",{iconclass:"fa fa-underline",tooltiptext:c.underline.tooltip,action:function(){return this.$editor().wrapSelection("underline",null)},activeState:function(){return this.$editor().queryCommandState("underline")},commandKeyCode:117}),a("clear",{iconclass:"fa fa-ban",tooltiptext:c.clear.tooltip,action:function(a,b){this.$editor().wrapSelection("removeFormat",null);var c=angular.element(d.getSelectionElement()),e=function(a){a=angular.element(a);var b=a;angular.forEach(a.children(),function(a){var c=angular.element("

    ");c.html(angular.element(a).html()),b.after(c),b=c}),a.remove()};angular.forEach(c.find("ul"),e),angular.forEach(c.find("ol"),e);var f=this.$editor(),g=function(a){a=angular.element(a),a[0]!==f.displayElements.text[0]&&a.removeAttr("class"),angular.forEach(a.children(),g)};angular.forEach(c,g),"li"!==c[0].tagName.toLowerCase()&&"ol"!==c[0].tagName.toLowerCase()&&"ul"!==c[0].tagName.toLowerCase()&&this.$editor().wrapSelection("formatBlock","

    "),b()}});var g=function(a,b,c){var d=function(){c.updateTaBindtaTextElement(),c.hidePopover()};a.preventDefault(),c.displayElements.popover.css("width","375px");var e=c.displayElements.popoverContainer;e.empty();var f=angular.element('

    '),g=angular.element('');g.on("click",function(a){a.preventDefault(),b.css({width:"100%",height:""}),d()});var h=angular.element('');h.on("click",function(a){a.preventDefault(),b.css({width:"50%",height:""}),d()});var i=angular.element('');i.on("click",function(a){a.preventDefault(),b.css({width:"25%",height:""}),d()});var j=angular.element('');j.on("click",function(a){a.preventDefault(),b.css({width:"",height:""}),d()}),f.append(g),f.append(h),f.append(i),f.append(j),e.append(f),f=angular.element('
    ');var k=angular.element('');k.on("click",function(a){a.preventDefault(),b.css("float","left"),d()});var l=angular.element('');l.on("click",function(a){a.preventDefault(),b.css("float","right"),d()});var m=angular.element('');m.on("click",function(a){a.preventDefault(),b.css("float",""),d()}),f.append(k),f.append(m),f.append(l),e.append(f),f=angular.element('
    ');var n=angular.element('');n.on("click",function(a){a.preventDefault(),b.remove(),d()}),f.append(n),e.append(f),c.showPopover(b),c.showResizeOverlay(b)};a("insertImage",{iconclass:"fa fa-picture-o",tooltiptext:c.insertImage.tooltip,action:function(){var a;return a=b.prompt(c.insertImage.dialogPrompt,"http://"),a&&""!==a&&"http://"!==a?this.$editor().wrapSelection("insertImage",a,!0):void 0},onElementSelect:{element:"img",action:g}}),a("insertVideo",{iconclass:"fa fa-youtube-play",tooltiptext:c.insertVideo.tooltip,action:function(){var a;if(a=b.prompt(c.insertVideo.dialogPrompt,"http://"),a&&""!==a&&"http://"!==a){var d=a.match(/(\?|&)v=[^&]*/);if(d.length>0){var e="http://www.youtube.com/embed/"+d[0].substring(3),f='';return this.$editor().wrapSelection("insertHTML",f,!0)}}},onElementSelect:{element:"img",onlyWithAttrs:["ta-insert-video"],action:g}}),a("insertLink",{tooltiptext:c.insertLink.tooltip,iconclass:"fa fa-link",action:function(){var a;return a=b.prompt(c.insertLink.dialogPrompt,"http://"),a&&""!==a&&"http://"!==a?this.$editor().wrapSelection("createLink",a,!0):void 0},activeState:function(a){return a?"A"===a[0].tagName:!1},onElementSelect:{element:"a",action:function(a,d,e){a.preventDefault(),e.displayElements.popover.css("width","435px");var f=e.displayElements.popoverContainer;f.empty(),f.css("line-height","28px");var g=angular.element(''+d.attr("href")+"");g.css({display:"inline-block","max-width":"200px",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap","vertical-align":"middle"}),f.append(g);var h=angular.element('
    '),i=angular.element('');i.on("click",function(a){a.preventDefault();var f=b.prompt(c.insertLink.dialogPrompt,d.attr("href"));f&&""!==f&&"http://"!==f&&(d.attr("href",f),e.updateTaBindtaTextElement()),e.hidePopover()}),h.append(i);var j=angular.element('');j.on("click",function(a){a.preventDefault(),d.replaceWith(d.contents()),e.updateTaBindtaTextElement(),e.hidePopover()}),h.append(j);var k=angular.element('');"_blank"===d.attr("target")&&k.addClass("active"),k.on("click",function(a){a.preventDefault(),d.attr("target","_blank"===d.attr("target")?"":"_blank"),k.toggleClass("active"),e.updateTaBindtaTextElement()}),h.append(k),f.append(h),e.showPopover(d)}}})}]),function(){"Use Strict";function a(a){try{return 0!==angular.element(a).length}catch(b){return!1}}function b(a,c){var d=[],e=a.children();return e.length&&angular.forEach(e,function(a){d=d.concat(b(angular.element(a),c))}),void 0!==a.attr(c)&&d.push(a),d}function c(b,c){if(!b||""===b||n.hasOwnProperty(b))throw"textAngular Error: A unique name is required for a Tool Definition";if(c.display&&(""===c.display||!a(c.display))||!c.display&&!c.buttontext&&!c.iconclass)throw'textAngular Error: Tool Definition for "'+b+'" does not have a valid display/iconclass/buttontext value';n[b]=c}var d=!1;/AppleWebKit\/([\d.]+)/.exec(navigator.userAgent)&&(document.addEventListener("click",function(){var a=window.event.target;if(d&&null!==a){for(var b=!1,c=a;null!==c&&"html"!==c.tagName.toLowerCase()&&!b;)b="true"===c.contentEditable,c=c.parentNode;b||(document.getElementById("textAngular-editableFix-010203040506070809").setSelectionRange(0,0),a.focus())}d=!1},!1),angular.element(document).ready(function(){angular.element(document.body).append(angular.element(''))}));var e=function(){var a,b=-1,c=window.navigator.userAgent,d=c.indexOf("MSIE "),e=c.indexOf("Trident/");if(d>0)b=parseInt(c.substring(d+5,c.indexOf(".",d)),10);else if(e>0){var f=c.indexOf("rv:");b=parseInt(c.substring(f+3,c.indexOf(".",f)),10)}return b>-1?b:a}();"function"!=typeof String.prototype.trim&&(String.prototype.trim=function(){return this.replace(/^\s\s*/,"").replace(/\s\s*$/,"")});var f,g,h,i,j;if(e>8||void 0===e){var k=function(){var a=document.createElement("style");return/AppleWebKit\/([\d.]+)/.exec(navigator.userAgent)&&a.appendChild(document.createTextNode("")),document.head.insertBefore(a,document.head.firstChild),a.sheet}();f=function(){var a=document.createElement("style");return/AppleWebKit\/([\d.]+)/.exec(navigator.userAgent)&&a.appendChild(document.createTextNode("")),document.head.appendChild(a),a.sheet}(),g=function(a,b){i(f,a,b)},i=function(a,b,c){var d;return a.rules?d=Math.max(a.rules.length-1,0):a.cssRules&&(d=Math.max(a.cssRules.length-1,0)),a.insertRule?a.insertRule(b+"{"+c+"}",d):a.addRule(b,c,d),d},h=function(a){j(f,a)},j=function(a,b){a.removeRule?a.removeRule(b):a.deleteRule(b)},i(k,".ta-scroll-window.form-control","height: auto; min-height: 300px; overflow: auto; font-family: inherit; font-size: 100%; position: relative; padding: 0;"),i(k,".ta-root.focussed .ta-scroll-window.form-control","border-color: #66afe9; outline: 0; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);"),i(k,".ta-editor.ta-html","min-height: 300px; height: auto; overflow: auto; font-family: inherit; font-size: 100%;"),i(k,".ta-scroll-window > .ta-bind","height: auto; min-height: 300px; padding: 6px 12px;"),i(k,".ta-root .ta-resizer-handle-overlay","z-index: 100; position: absolute; display: none;"),i(k,".ta-root .ta-resizer-handle-overlay > .ta-resizer-handle-info","position: absolute; bottom: 16px; right: 16px; border: 1px solid black; background-color: #FFF; padding: 0 4px; opacity: 0.7;"),i(k,".ta-root .ta-resizer-handle-overlay > .ta-resizer-handle-background","position: absolute; bottom: 5px; right: 5px; left: 5px; top: 5px; border: 1px solid black; background-color: rgba(0, 0, 0, 0.2);"),i(k,".ta-root .ta-resizer-handle-overlay > .ta-resizer-handle-corner","width: 10px; height: 10px; position: absolute;"),i(k,".ta-root .ta-resizer-handle-overlay > .ta-resizer-handle-corner-tl","top: 0; left: 0; border-left: 1px solid black; border-top: 1px solid black;"),i(k,".ta-root .ta-resizer-handle-overlay > .ta-resizer-handle-corner-tr","top: 0; right: 0; border-right: 1px solid black; border-top: 1px solid black;"),i(k,".ta-root .ta-resizer-handle-overlay > .ta-resizer-handle-corner-bl","bottom: 0; left: 0; border-left: 1px solid black; border-bottom: 1px solid black;"),i(k,".ta-root .ta-resizer-handle-overlay > .ta-resizer-handle-corner-br","bottom: 0; right: 0; border: 1px solid black; cursor: se-resize; background-color: white;")}var l=!1,m=angular.module("textAngular",["ngSanitize","textAngularSetup"]),n={};m.constant("taRegisterTool",c),m.value("taTools",n),m.config([function(){angular.forEach(n,function(a,b){delete n[b]})}]),m.directive("textAngular",["$compile","$timeout","taOptions","taSelection","taExecCommand","textAngularManager","$window","$document","$animate","$log",function(a,b,c,d,e,f,g,h,i,j){return{require:"?ngModel",scope:{},restrict:"EA",link:function(k,l,m,n){var o,p,q,r,s,t,u,v,w,x=m.serial?m.serial:Math.floor(1e16*Math.random()),y=m.name?m.name:"textAngularEditor"+x,z=function(a,c,d){b(function(){var b=function(){a.off(c,b),d()};a.on(c,b)},100)};w=e(m.taDefaultWrap),angular.extend(k,angular.copy(c),{wrapSelection:function(a,b,c){w(a,!1,b),c&&k["reApplyOnSelectorHandlerstaTextElement"+x](),k.displayElements.text[0].focus()},showHtml:!1}),m.taFocussedClass&&(k.classes.focussed=m.taFocussedClass),m.taTextEditorClass&&(k.classes.textEditor=m.taTextEditorClass),m.taHtmlEditorClass&&(k.classes.htmlEditor=m.taHtmlEditorClass),m.taTextEditorSetup&&(k.setup.textEditorSetup=k.$parent.$eval(m.taTextEditorSetup)),m.taHtmlEditorSetup&&(k.setup.htmlEditorSetup=k.$parent.$eval(m.taHtmlEditorSetup)),k.fileDropHandler=m.taFileDrop?k.$parent.$eval(m.taFileDrop):k.defaultFileDropHandler,u=l[0].innerHTML,l[0].innerHTML="",k.displayElements={forminput:angular.element(""),html:angular.element(""),text:angular.element("
    "),scrollWindow:angular.element("
    "),popover:angular.element('
    '),popoverArrow:angular.element('
    '),popoverContainer:angular.element('
    '),resize:{overlay:angular.element('
    '),background:angular.element('
    '),anchors:[angular.element('
    '),angular.element('
    '),angular.element('
    '),angular.element('
    ')],info:angular.element('
    ')}},k.displayElements.popover.append(k.displayElements.popoverArrow),k.displayElements.popover.append(k.displayElements.popoverContainer),k.displayElements.scrollWindow.append(k.displayElements.popover),k.displayElements.popover.on("mousedown",function(a,b){return b&&angular.extend(a,b),a.preventDefault(),!1}),k.showPopover=function(a){k.displayElements.popover.css("display","block"),k.reflowPopover(a),i.addClass(k.displayElements.popover,"in"),z(l,"click keyup",function(){k.hidePopover()})},k.reflowPopover=function(a){k.displayElements.text[0].offsetHeight-51>a[0].offsetTop?(k.displayElements.popover.css("top",a[0].offsetTop+a[0].offsetHeight+"px"),k.displayElements.popover.removeClass("top").addClass("bottom")):(k.displayElements.popover.css("top",a[0].offsetTop-54+"px"),k.displayElements.popover.removeClass("bottom").addClass("top"));var b=k.displayElements.text[0].offsetWidth-k.displayElements.popover[0].offsetWidth,c=a[0].offsetLeft+a[0].offsetWidth/2-k.displayElements.popover[0].offsetWidth/2;k.displayElements.popover.css("left",Math.max(0,Math.min(b,c))+"px"),k.displayElements.popoverArrow.css("margin-left",Math.min(c,Math.max(0,c-b))-11+"px")},k.hidePopover=function(){i.removeClass(k.displayElements.popover,"in",function(){k.displayElements.popover.css("display",""),k.displayElements.popoverContainer.attr("style",""),k.displayElements.popoverContainer.attr("class","popover-content")})},k.displayElements.resize.overlay.append(k.displayElements.resize.background),angular.forEach(k.displayElements.resize.anchors,function(a){k.displayElements.resize.overlay.append(a)}),k.displayElements.resize.overlay.append(k.displayElements.resize.info),k.displayElements.scrollWindow.append(k.displayElements.resize.overlay),k.reflowResizeOverlay=function(a){a=angular.element(a)[0],k.displayElements.resize.overlay.css({display:"block",left:a.offsetLeft-5+"px",top:a.offsetTop-5+"px",width:a.offsetWidth+10+"px",height:a.offsetHeight+10+"px"}),k.displayElements.resize.info.text(a.offsetWidth+" x "+a.offsetHeight)},k.showResizeOverlay=function(a){var b=function(b){var c={width:parseInt(a.attr("width")),height:parseInt(a.attr("height")),x:b.clientX,y:b.clientY};void 0===c.width&&(c.width=a[0].offsetWidth),void 0===c.height&&(c.height=a[0].offsetHeight),k.hidePopover();var d=c.height/c.width,e=function(b){var e={x:Math.max(0,c.width+(b.clientX-c.x)),y:Math.max(0,c.height+(b.clientY-c.y))},f=function(a,b){a=angular.element(a),"img"===a[0].tagName.toLowerCase()&&(b.height&&(a.attr("height",b.height),delete b.height),b.width&&(a.attr("width",b.width),delete b.width)),a.css(b)};if(b.shiftKey){var g=e.y/e.x;f(a,{width:d>g?e.x:e.y/d,height:d>g?e.x*d:e.y})}else f(a,{width:e.x,height:e.y});k.reflowResizeOverlay(a)};h.find("body").on("mousemove",e),z(k.displayElements.resize.overlay,"mouseup",function(){h.find("body").off("mousemove",e),k.showPopover(a)}),b.stopPropagation(),b.preventDefault()};k.displayElements.resize.anchors[3].on("mousedown",b),k.reflowResizeOverlay(a),z(l,"click",function(){k.hideResizeOverlay()})},k.hideResizeOverlay=function(){k.displayElements.resize.overlay.css("display","")},k.setup.htmlEditorSetup(k.displayElements.html),k.setup.textEditorSetup(k.displayElements.text),k.displayElements.html.attr({id:"taHtmlElement"+x,"ng-show":"showHtml","ta-bind":"ta-bind","ng-model":"html"}),k.displayElements.text.attr({id:"taTextElement"+x,contentEditable:"true","ta-bind":"ta-bind","ng-model":"html"}),k.displayElements.scrollWindow.attr({"ng-hide":"showHtml"}),m.taDefaultWrap&&k.displayElements.text.attr("ta-default-wrap",m.taDefaultWrap),m.taUnsafeSanitizer&&(k.displayElements.text.attr("ta-unsafe-sanitizer",m.taUnsafeSanitizer),k.displayElements.html.attr("ta-unsafe-sanitizer",m.taUnsafeSanitizer)),k.displayElements.scrollWindow.append(k.displayElements.text),l.append(k.displayElements.scrollWindow),l.append(k.displayElements.html),k.displayElements.forminput.attr("name",y),l.append(k.displayElements.forminput),m.tabindex&&(l.removeAttr("tabindex"),k.displayElements.text.attr("tabindex",m.tabindex),k.displayElements.html.attr("tabindex",m.tabindex)),m.placeholder&&(k.displayElements.text.attr("placeholder",m.placeholder),k.displayElements.html.attr("placeholder",m.placeholder)),m.taDisabled&&(k.displayElements.text.attr("ta-readonly","disabled"),k.displayElements.html.attr("ta-readonly","disabled"),k.disabled=k.$parent.$eval(m.taDisabled),k.$parent.$watch(m.taDisabled,function(a){k.disabled=a,k.disabled?l.addClass(k.classes.disabled):l.removeClass(k.classes.disabled)})),a(k.displayElements.scrollWindow)(k),a(k.displayElements.html)(k),k.updateTaBindtaTextElement=k["updateTaBindtaTextElement"+x],k.updateTaBindtaHtmlElement=k["updateTaBindtaHtmlElement"+x],l.addClass("ta-root"),k.displayElements.scrollWindow.addClass("ta-text ta-editor "+k.classes.textEditor),k.displayElements.html.addClass("ta-html ta-editor "+k.classes.htmlEditor),k._actionRunning=!1;var A=!1;if(k.startAction=function(){return k._actionRunning=!0,g.rangy&&g.rangy.saveSelection?(A=g.rangy.saveSelection(),function(){A&&g.rangy.restoreSelection(A)}):void 0},k.endAction=function(){k._actionRunning=!1,A&&g.rangy.removeMarkers(A),A=!1,k.updateSelectedStyles(),k.showHtml||k["updateTaBindtaTextElement"+x]()},s=function(){l.addClass(k.classes.focussed),v.focus()},k.displayElements.html.on("focus",s),k.displayElements.text.on("focus",s),t=function(a){return k._actionRunning||h[0].activeElement===k.displayElements.html[0]||h[0].activeElement===k.displayElements.text[0]||(l.removeClass(k.classes.focussed),v.unfocus(),b(function(){l.triggerHandler("blur")},0)),a.preventDefault(),!1},k.displayElements.html.on("blur",t),k.displayElements.text.on("blur",t),k.queryFormatBlockState=function(a){return!k.showHtml&&a.toLowerCase()===h[0].queryCommandValue("formatBlock").toLowerCase()},k.queryCommandState=function(a){return k.showHtml?"":h[0].queryCommandState(a)},k.switchView=function(){k.showHtml=!k.showHtml,k.showHtml?b(function(){return k.displayElements.html[0].focus()},100):b(function(){return k.displayElements.text[0].focus()},100)},m.ngModel){var B=!0;n.$render=function(){if(B){B=!1;var a=k.$parent.$eval(m.ngModel);void 0!==a&&null!==a||!u||""===u||n.$setViewValue(u)}k.displayElements.forminput.val(n.$viewValue),k._elementSelectTriggered||h[0].activeElement===k.displayElements.html[0]||h[0].activeElement===k.displayElements.text[0]||(k.html=n.$viewValue||"") };var C=function(a){return m.required&&n.$setValidity("required",!(!a||""===a.trim())),a};n.$parsers.push(C),n.$formatters.push(C)}else k.displayElements.forminput.val(u),k.html=u;if(k.$watch("html",function(a,b){a!==b&&(m.ngModel&&n.$viewValue!==a&&n.$setViewValue(a),k.displayElements.forminput.val(a))}),m.taTargetToolbars)v=f.registerEditor(y,k,m.taTargetToolbars.split(","));else{var D=angular.element('
    ');m.taToolbar&&D.attr("ta-toolbar",m.taToolbar),m.taToolbarClass&&D.attr("ta-toolbar-class",m.taToolbarClass),m.taToolbarGroupClass&&D.attr("ta-toolbar-group-class",m.taToolbarGroupClass),m.taToolbarButtonClass&&D.attr("ta-toolbar-button-class",m.taToolbarButtonClass),m.taToolbarActiveButtonClass&&D.attr("ta-toolbar-active-button-class",m.taToolbarActiveButtonClass),m.taFocussedClass&&D.attr("ta-focussed-class",m.taFocussedClass),l.prepend(D),a(D)(k.$parent),v=f.registerEditor(y,k,["textAngularToolbar"+x])}k.$on("$destroy",function(){f.unregisterEditor(y)}),k.$on("ta-element-select",function(a,b){v.triggerElementSelect(a,b)}),k.$on("ta-drop-event",function(a,b,c,d){k.displayElements.text[0].focus(),d&&d.files&&d.files.length>0&&(angular.forEach(d.files,function(a){try{return k.fileDropHandler(a,k.wrapSelection)||k.fileDropHandler!==k.defaultFileDropHandler&&k.defaultFileDropHandler(a,k.wrapSelection)}catch(b){j.error(b)}}),c.preventDefault(),c.stopPropagation())}),k._bUpdateSelectedStyles=!1,k.updateSelectedStyles=function(){var a;void 0!==(a=d.getSelectionElement())&&a.parentNode!==k.displayElements.text[0]?v.updateSelectedStyles(angular.element(a)):v.updateSelectedStyles(),k._bUpdateSelectedStyles&&b(k.updateSelectedStyles,200)},o=function(){k._bUpdateSelectedStyles||(k._bUpdateSelectedStyles=!0,k.$apply(function(){k.updateSelectedStyles()}))},k.displayElements.html.on("keydown",o),k.displayElements.text.on("keydown",o),p=function(){k._bUpdateSelectedStyles=!1},k.displayElements.html.on("keyup",p),k.displayElements.text.on("keyup",p),q=function(a,b){b&&angular.extend(a,b),k.$apply(function(){return v.sendKeyCommand(a)?(k._bUpdateSelectedStyles||k.updateSelectedStyles(),a.preventDefault(),!1):void 0})},k.displayElements.html.on("keypress",q),k.displayElements.text.on("keypress",q),r=function(){k._bUpdateSelectedStyles=!1,k.$apply(function(){k.updateSelectedStyles()})},k.displayElements.html.on("mouseup",r),k.displayElements.text.on("mouseup",r)}}}]).factory("taBrowserTag",[function(){return function(a){return a?""===a?void 0===e?"div":8>=e?"P":"p":8>=e?a.toUpperCase():a:8>=e?"P":"p"}}]).factory("taExecCommand",["taSelection","taBrowserTag","$document",function(a,b,c){var d=/^(address|article|aside|audio|blockquote|canvas|dd|div|dl|fieldset|figcaption|figure|footer|form|h1|h2|h3|h4|h5|h6|header|hgroup|hr|noscript|ol|output|p|pre|section|table|tfoot|ul|video)$/gi,e=/^(ul|li|ol)$/gi,f=function(b,c){var d,e,f=b.find("li");for(e=f.length-1;e>=0;e--)d=angular.element("<"+c+">"+f[e].innerHTML+""),b.after(d);b.remove(),a.setSelectionToElementEnd(d[0])},g=function(b,c){var d=angular.element("<"+c+">"+b[0].innerHTML+"");b.after(d),b.remove(),a.setSelectionToElementEnd(d.find("li")[0])},h=function(c,d,e){for(var f="",g=0;g"+c[g].innerHTML+"";var h=angular.element("<"+e+">"+f+"");d.after(h),d.remove(),a.setSelectionToElementEnd(h.find("li")[0])};return function(i){return i=b(i),function(j,k,l){var m,n,o,p,q,r=angular.element("<"+i+">"),s=a.getSelectionElement(),t=angular.element(s);if(void 0!==s){var u=s.tagName.toLowerCase();if("insertorderedlist"===j.toLowerCase()||"insertunorderedlist"===j.toLowerCase()){var v=b("insertorderedlist"===j.toLowerCase()?"ol":"ul");if(u===v)return f(t,i);if("li"===u&&t.parent()[0].tagName.toLowerCase()===v&&1===t.parent().children().length)return f(t.parent(),i);if("li"===u&&t.parent()[0].tagName.toLowerCase()!==v&&1===t.parent().children().length)return g(t.parent(),v);if(u.match(d)&&!t.hasClass("ta-bind")){if("ol"===u||"ul"===u)return g(t,v);var w=!1;return angular.forEach(t.children(),function(a){a.tagName.match(d)&&(w=!0)}),w?h(t.children(),t,v):h([angular.element("
    "+s.innerHTML+"
    ")[0]],t,v)}if(u.match(d)){if(p=a.getOnlySelectedElements(),1===p.length&&("ol"===p[0].tagName.toLowerCase()||"ul"===p[0].tagName.toLowerCase()))return p[0].tagName.toLowerCase()===v?f(angular.element(p[0]),i):g(angular.element(p[0]),v);o="";var x=[];for(m=0;m"+y[0].innerHTML+"",x.unshift(y)}return n=angular.element("<"+v+">"+o+""),x.pop().replaceWith(n),angular.forEach(x,function(a){a.remove()}),void a.setSelectionToElementEnd(n[0])}}else if("formatblock"===j.toLowerCase()){var z=l.toLowerCase().replace(/[<>]/gi,"");for(n="li"===u?t.parent():t;!n[0].tagName.match(d);)n=n.parent(),u=n[0].tagName.toLowerCase();if(u===z){p=n.children();var A=!1;for(m=0;m"),r[0].innerHTML=D[m].outerHTML,D[m]=r[0]),C.parent()[0].insertBefore(D[m],C[0]);C.remove()}return void a.setSelectionToElementEnd(n[0])}}try{c[0].execCommand(j,k,l)}catch(E){}}}}]).directive("taBind",["taSanitize","$timeout","$window","$document","taFixChrome","taBrowserTag","taSelection","taSelectableElements","taApplyCustomRenderers","taOptions",function(a,b,c,f,i,j,k,m,n,o){return{require:"ngModel",scope:{},link:function(j,p,q,r){var s,t,u=void 0!==p.attr("contenteditable")&&p.attr("contenteditable"),v=u||"textarea"===p[0].tagName.toLowerCase()||"input"===p[0].tagName.toLowerCase(),w=!1,x=!1,y=q.taUnsafeSanitizer||o.disableSanitizer;void 0===q.taDefaultWrap&&(q.taDefaultWrap="p"),""===q.taDefaultWrap?(s="",t=void 0===e?"

    ":e>=11?"


    ":8>=e?"

     

    ":"

     

    "):(s=void 0===e||e>=11?"<"+q.taDefaultWrap+">
    ":8>=e?"<"+q.taDefaultWrap.toUpperCase()+">":"<"+q.taDefaultWrap+">",t=void 0===e||e>=11?"<"+q.taDefaultWrap+">
    ":8>=e?"<"+q.taDefaultWrap.toUpperCase()+"> ":"<"+q.taDefaultWrap+"> "),p.addClass("ta-bind");var z=function(){if(u)return p[0].innerHTML;if(v)return p.val();throw"textAngular Error: attempting to update non-editable taBind"},A=function(a){a||(a=z()),a===t?""!==r.$viewValue&&r.$setViewValue(""):r.$viewValue!==a&&r.$setViewValue(a)};if(j.$parent["updateTaBind"+(q.id||"")]=function(){w||A()},v)if(u){if(p.on("cut",function(a){w?a.preventDefault():b(function(){A()},0)}),p.on("paste",function(a,b){b&&angular.extend(a,b);var d;if(a.clipboardData||a.originalEvent&&a.originalEvent.clipboardData?d=(a.originalEvent||a).clipboardData.getData("text/plain"):c.clipboardData&&(d=c.clipboardData.getData("Text")),!d&&!w)return!0;if(a.preventDefault(),!w){var e=angular.element("
    ");if(e[0].innerHTML=d,d=e.text(),f[0].selection){var g=f[0].selection.createRange();g.pasteHTML(d)}else f[0].execCommand("insertText",!1,d);A()}}),p.on("keyup",function(a,b){if(b&&angular.extend(a,b),!w){if(""!==s&&13===a.keyCode&&!a.shiftKey){var c=k.getSelectionElement();if(c.tagName.toLowerCase()!==q.taDefaultWrap&&"li"!==c.tagName.toLowerCase()&&(""===c.innerHTML.trim()||"
    "===c.innerHTML.trim())){var d=angular.element(s);angular.element(c).replaceWith(d),k.setSelectionToElementStart(d[0])}}var e=z();""!==s&&""===e.trim()&&(p[0].innerHTML=s,k.setSelectionToElementStart(p.children()[0])),A(e)}}),p.on("blur",function(){x=!1,w||A(),r.$render()}),q.placeholder&&(e>8||void 0===e)){var B;if(!q.id)throw"textAngular Error: An unique ID is required for placeholders to work";B=g("#"+q.id+".placeholder-text:before",'content: "'+q.placeholder+'"'),j.$on("$destroy",function(){h(B)})}p.on("focus",function(){x=!0,r.$render()}),p.on("mousedown",function(a,b){b&&angular.extend(a,b),a.stopPropagation()})}else p.on("paste cut",function(){w||b(function(){r.$setViewValue(z())},0)}),p.on("change blur",function(){w||r.$setViewValue(z())});var C=function(b){return r.$oldViewValue=a(i(b),r.$oldViewValue,y)},D=function(a){return q.required&&r.$setValidity("required",!(!a||a.trim()===t||""===a.trim())),a};r.$parsers.push(C),r.$parsers.push(D),r.$formatters.push(C),r.$formatters.push(D);var E=function(a){return j.$emit("ta-element-select",this),a.preventDefault(),!1},F=function(a,c){if(c&&angular.extend(a,c),!l&&!w){l=!0;var d;d=a.originalEvent?a.originalEvent.dataTransfer:a.dataTransfer,j.$emit("ta-drop-event",this,a,d),b(function(){l=!1},100)}};j.$parent["reApplyOnSelectorHandlers"+(q.id||"")]=function(){w||angular.forEach(m,function(a){p.find(a).off("click",E).on("click",E)})};var G=function(a){p[0].innerHTML=a};r.$render=function(){var a=r.$viewValue||"";f[0].activeElement!==p[0]?u?(q.placeholder?""===a?(x?p.removeClass("placeholder-text"):p.addClass("placeholder-text"),G(s)):(p.removeClass("placeholder-text"),G(a)):G(""===a?s:a),w?p.off("drop",F):(angular.forEach(m,function(a){p.find(a).on("click",E)}),p.on("drop",F))):"textarea"!==p[0].tagName.toLowerCase()&&"input"!==p[0].tagName.toLowerCase()?G(n(a)):p.val(a):u&&p.removeClass("placeholder-text")},q.taReadonly&&(w=j.$parent.$eval(q.taReadonly),w?(p.addClass("ta-readonly"),("textarea"===p[0].tagName.toLowerCase()||"input"===p[0].tagName.toLowerCase())&&p.attr("disabled","disabled"),void 0!==p.attr("contenteditable")&&p.attr("contenteditable")&&p.removeAttr("contenteditable")):(p.removeClass("ta-readonly"),"textarea"===p[0].tagName.toLowerCase()||"input"===p[0].tagName.toLowerCase()?p.removeAttr("disabled"):u&&p.attr("contenteditable","true")),j.$parent.$watch(q.taReadonly,function(a,b){b!==a&&(a?(p.addClass("ta-readonly"),("textarea"===p[0].tagName.toLowerCase()||"input"===p[0].tagName.toLowerCase())&&p.attr("disabled","disabled"),void 0!==p.attr("contenteditable")&&p.attr("contenteditable")&&p.removeAttr("contenteditable"),angular.forEach(m,function(a){p.find(a).on("click",E)}),p.off("drop",F)):(p.removeClass("ta-readonly"),"textarea"===p[0].tagName.toLowerCase()||"input"===p[0].tagName.toLowerCase()?p.removeAttr("disabled"):u&&p.attr("contenteditable","true"),angular.forEach(m,function(a){p.find(a).off("click",E)}),p.on("drop",F)),w=a)})),u&&!w&&(angular.forEach(m,function(a){p.find(a).on("click",E)}),p.on("drop",F),p.on("blur",function(){/AppleWebKit\/([\d.]+)/.exec(navigator.userAgent)&&(d=!0)}))}}}]).factory("taApplyCustomRenderers",["taCustomRenderers",function(a){return function(c){var d=angular.element("
    ");return d[0].innerHTML=c,angular.forEach(a,function(a){var c=[];a.selector&&""!==a.selector?c=d.find(a.selector):a.customAttribute&&""!==a.customAttribute&&(c=b(d,a.customAttribute)),angular.forEach(c,function(b){b=angular.element(b),a.selector&&""!==a.selector&&a.customAttribute&&""!==a.customAttribute?void 0!==b.attr(a.customAttribute)&&a.renderLogic(b):a.renderLogic(b)})}),d[0].innerHTML}}]).directive("taMaxText",function(){return{restrict:"A",require:"ngModel",link:function(a,b,c,d){function e(a){var b=angular.element("
    ");b.html(a);var c=b.text().length;return f>=c?(d.$setValidity("taMaxText",!0),a):void d.$setValidity("taMaxText",!1)}var f=parseInt(a.$eval(c.taMaxText));if(isNaN(f))throw"Max text must be an integer";c.$observe("taMaxText",function(a){if(f=parseInt(a),isNaN(f))throw"Max text must be an integer";d.$dirty&&d.$setViewValue(d.$viewValue)}),d.$parsers.unshift(e)}}}).directive("taMinText",function(){return{restrict:"A",require:"ngModel",link:function(a,b,c,d){function e(a){var b=angular.element("
    ");b.html(a);var c=b.text().length;return!c||c>=f?(d.$setValidity("taMinText",!0),a):void d.$setValidity("taMinText",!1)}var f=parseInt(a.$eval(c.taMinText));if(isNaN(f))throw"Min text must be an integer";c.$observe("taMinText",function(a){if(f=parseInt(a),isNaN(f))throw"Min text must be an integer";d.$dirty&&d.$setViewValue(d.$viewValue)}),d.$parsers.unshift(e)}}}).factory("taFixChrome",function(){var a=function(a){for(var b=angular.element("
    "+a+"
    "),c=angular.element(b).find("span"),d=0;d0&&"BR"===e.next()[0].tagName&&e.next().remove(),e.replaceWith(e[0].innerHTML)))}var f=b[0].innerHTML.replace(/style="[^"]*?(line-height: 1.428571429;|color: inherit; line-height: 1.1;)[^"]*"/gi,"");return f!==b[0].innerHTML&&(b[0].innerHTML=f),b[0].innerHTML};return a}).factory("taSanitize",["$sanitize",function(a){return function(c,d,e){var f=angular.element("
    "+c+"
    ");angular.forEach(b(f,"align"),function(a){a.css("text-align",a.attr("align")),a.removeAttr("align")});var g;c=f[0].innerHTML;try{g=a(c),e&&(g=c)}catch(h){g=d||""}return g}}]).directive("textAngularToolbar",["$compile","textAngularManager","taOptions","taTools","taToolExecuteAction","$window",function(a,b,c,d,e,f){return{scope:{name:"@"},restrict:"EA",link:function(g,h,i){if(!g.name||""===g.name)throw"textAngular Error: A toolbar requires a name";angular.extend(g,angular.copy(c)),i.taToolbar&&(g.toolbar=g.$parent.$eval(i.taToolbar)),i.taToolbarClass&&(g.classes.toolbar=i.taToolbarClass),i.taToolbarGroupClass&&(g.classes.toolbarGroup=i.taToolbarGroupClass),i.taToolbarButtonClass&&(g.classes.toolbarButton=i.taToolbarButtonClass),i.taToolbarActiveButtonClass&&(g.classes.toolbarButtonActive=i.taToolbarActiveButtonClass),i.taFocussedClass&&(g.classes.focussed=i.taFocussedClass),g.disabled=!0,g.focussed=!1,g._$element=h,h[0].innerHTML="",h.addClass("ta-toolbar "+g.classes.toolbar),g.$watch("focussed",function(){g.focussed?h.addClass(g.classes.focussed):h.removeClass(g.classes.focussed)});var j=function(b,c){var d;if(d=angular.element(b&&b.display?b.display:"\n \n
    \n'}),c("ng-admin/Crud/component/directive/field/DateField",["require","angular","text!../../../view/field/date.html"],function(a){function b(){return{restrict:"E",template:c,controller:["$scope",function(a){a.isOpen=!1,a.toggleDatePicker=function(b){b.preventDefault(),b.stopPropagation(),a.isOpen=!a.isOpen}}]}}var c=(a("angular"),a("text!../../../view/field/date.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/field/boolean.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/field/BooleanField",["require","angular","text!../../../view/field/boolean.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/field/boolean.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/field/choice.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/field/ChoiceField",["require","angular","text!../../../view/field/choice.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/field/choice.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/field/choices.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/field/ChoicesField",["require","angular","text!../../../view/field/choices.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/field/choices.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/field/reference.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/field/ReferenceField",["require","angular","text!../../../view/field/reference.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/field/reference.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/field/referenceMany.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/field/ReferenceManyField",["require","angular","text!../../../view/field/referenceMany.html"],function(a){function b(){}function c(){return{restrict:"E",template:d,controller:b,controllerAs:"referenceManyField"}}var d=(a("angular"),a("text!../../../view/field/referenceMany.html"));return b.prototype.contains=function(a,b){if(!a)return!1;for(var c=0,d=a.length;d>c;c++)if(a[c]==b)return!0;return!1},c.$inject=[],c}),c("text!ng-admin/Crud/view/field/wysiwyg.html",[],function(){return'
    \n'}),c("ng-admin/Crud/component/directive/field/WysiwygField",["require","angular","text!../../../view/field/wysiwyg.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/field/wysiwyg.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/field/callback.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/field/CallbackField",["require","angular","text!../../../view/field/callback.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/field/callback.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/string.html",[],function(){return'\n {{ entity.getField(column.field.name()).value }}\n\n'}),c("ng-admin/Crud/component/directive/column/StringColumn",["require","angular","text!../../../view/column/string.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/string.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/email.html",[],function(){return'\n {{ entity.getField(column.field.name()).value }}\n\n'}),c("ng-admin/Crud/component/directive/column/EmailColumn",["require","angular","text!../../../view/column/email.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/email.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/text.html",[],function(){return'\n {{ entity.getField(column.field.name()).value }}\n\n'}),c("ng-admin/Crud/component/directive/column/TextColumn",["require","angular","text!../../../view/column/text.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/text.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/number.html",[],function(){return'\n {{ entity.getField(column.field.name()).value }}\n\n'}),c("ng-admin/Crud/component/directive/column/NumberColumn",["require","angular","text!../../../view/column/number.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/number.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/date.html",[],function(){return'\n {{ entity.getField(column.field.name()).value }}\n\n'}),c("ng-admin/Crud/component/directive/column/DateColumn",["require","angular","text!../../../view/column/date.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/date.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/boolean.html",[],function(){return'\n\n'}),c("ng-admin/Crud/component/directive/column/BooleanColumn",["require","angular","text!../../../view/column/boolean.html"],function(a){function b(){return{restrict:"E",template:c,controller:function(a){a.isOk=!!a.entity.getField(a.column.field.name()).value}}}var c=(a("angular"),a("text!../../../view/column/boolean.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/choice.html",[],function(){return'\n {{ entity.getField(column.field.name()).value }}\n\n'}),c("ng-admin/Crud/component/directive/column/ChoiceColumn",["require","angular","text!../../../view/column/choice.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/choice.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/choices.html",[],function(){return'\n \n {{ ref }}\n \n\n'}),c("ng-admin/Crud/component/directive/column/ChoicesColumn",["require","angular","text!../../../view/column/choices.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/choices.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/reference.html",[],function(){return'\n {{ entity.getField(column.field.name()).getListValue() }}\n\n'}),c("ng-admin/Crud/component/directive/column/ReferenceColumn",["require","angular","text!../../../view/column/reference.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/reference.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/referenceMany.html",[],function(){return'\n \n {{ ref }}\n \n\n'}),c("ng-admin/Crud/component/directive/column/ReferenceManyColumn",["require","angular","text!../../../view/column/referenceMany.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/referenceMany.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/wysiwyg.html",[],function(){return'\n {{ entity.getField(column.field.name()).value }}\n\n'}),c("ng-admin/Crud/component/directive/column/WysiwygColumn",["require","angular","text!../../../view/column/wysiwyg.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/wysiwyg.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/callback.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/column/CallbackColumn",["require","angular","text!../../../view/column/callback.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/callback.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/datagrid.html",[],function(){return'\n \n \n \n \n \n\n \n \n \n \n \n
    \n \n \n\n {{ column.label }}\n \n
    \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n
    \n\n\n'}),c("ng-admin/Crud/component/controller/directive/DatagridController",[],function(){function a(a,b){this.$scope=a,this.$location=b;var c=this.$location.search();this.sortField="sortField"in c?c.sortField:"",this.sortDir="sortDir"in c?c.sortDir:"",this.retrieveColumns()}return a.prototype.retrieveColumns=function(){if(!this.$scope.columns){var a=[];angular.forEach(this.$scope.entityConfig.getFields(),function(b){b.list()&&a.push({field:b,label:b.label()})}),this.$scope.columns=a}},a.prototype.isSorting=function(a){return this.sortField===a.getSortName()},a.prototype.itemClass=function(a){return a%2===0?"even":"odd"},a.prototype.sort=function(a){var b="ASC",c=a.getSortName();this.sortField===c&&(b="ASC"===this.sortDir?"DESC":"ASC"),this.$location.search("sortField",c),this.$location.search("sortDir",b)},a.$inject=["$scope","$location"],a}),c("ng-admin/Crud/component/directive/Datagrid",["require","angular","text!../../view/datagrid.html","ng-admin/Crud/component/controller/directive/DatagridController"],function(a){function b(){return{restrict:"E",template:c,controllerAs:"datagrid",controller:d,link:function(a,b,c){a.hasPagination="undefined"==typeof c.withPagination?!0:a.$eval(c.pagination)}}}var c=(a("angular"),a("text!../../view/datagrid.html")),d=a("ng-admin/Crud/component/controller/directive/DatagridController");return b.$inject=[],b}),c("text!ng-admin/Crud/view/datagrid-pagination.html",[],function(){return'
    \n
    \n \n {{ pagination.offsetBegin }} - {{ pagination.offsetEnd }} on {{ pagination.totalItems }}\n \n \n
    \n
    \n'}),c("ng-admin/Crud/component/controller/directive/DatagridPaginationController",["nprogress"],function(){function a(a,b,c,d){this.$scope=a,this.$location=b,this.loadingPage=!1,this.$anchorScroll=c,this.CrudManager=d,this.infinitePagination=this.$scope.hasPagination&&this.$scope.entityConfig.infinitePagination(),this.$scope.hasPagination&&this.computePagination()}var c=b("nprogress");return a.prototype.computePagination=function(){var a=this.$scope.entityConfig.perPage(),b=this.$location.search().page||1,c=this.$scope.totalItems;this.currentPage=b,this.offsetBegin=(b-1)*a,this.offsetEnd=Math.min(b*a,c),this.totalItems=c,this.nbPages=Math.ceil(c/(a||1))||1},a.prototype.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},a.prototype.nextPage=function(){var a=this.$scope.entityConfig;if(!this.loadingPage&&this.infinitePagination&&this.currentPage!==this.nbPages){var b=this,d=this.$location.search(),e="sortField"in d?d.sortField:"",f="sortDir"in d?d.sortDir:"";this.loadingPage=!0,this.currentPage++,c.start(),this.CrudManager.getAll(a.name(),this.currentPage,null,!0,null,e,f).then(function(a){c.done(),b.$scope.entities=b.$scope.entities.concat(a.entities),b.loadingPage=!1})}},a.prototype.setPage=function(a){0>=a||a>this.nbPages||(this.$location.search("page",a),this.$anchorScroll(0))},a.$inject=["$scope","$location","$anchorScroll","CrudManager"],a}),c("ng-admin/Crud/component/directive/DatagridPagination",["require","angular","text!../../view/datagrid-pagination.html","ng-admin/Crud/component/controller/directive/DatagridPaginationController"],function(a){function b(a,b){return{restrict:"E",template:d,controllerAs:"pagination",controller:e,link:function(d,e,f,g){var h=f.offset||100,i=b[0].body;c.element(a).bind("scroll",function(){i.offsetHeight-a.innerHeight-a.scrollY\n
  • \n Filters:\n
  • \n
  • \n None\n
  • \n
  • \n {{ label }}\n
  • \n\n'}),c("ng-admin/Crud/component/controller/directive/QuickFilterController",["require"],function(){function a(a,b){this.$scope=a,this.$location=b;var c=this.$location.search();this.quickFilters=this.$scope.entityConfig.getQuickFilterNames(),this.currentQuickFilter="quickFilter"in c?c.quickFilter:null,this.displayFilterQuery=this.$scope.entityConfig.filterQuery()!==!1}return a.prototype.filter=function(a){this.$location.search("quickFilter",a)},a.$inject=["$scope","$location"],a}),c("ng-admin/Crud/component/directive/QuickFilter",["require","angular","text!../../view/quick-filter.html","ng-admin/Crud/component/controller/directive/QuickFilterController"],function(a){function b(){return{restrict:"E",template:c,controllerAs:"quickFilter",controller:d}}var c=(a("angular"),a("text!../../view/quick-filter.html")),d=a("ng-admin/Crud/component/controller/directive/QuickFilterController");return b.$inject=[],b}),c("text!ng-admin/Crud/view/edit-attribute.html",[],function(){return'\n\n
    \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n
    \n\n
    \n
    \n

    {{ field.value }}

    \n
    \n
    \n'}),c("ng-admin/Crud/run/cacheTemplate",["require","text!../view/edit-attribute.html"],function(a){function b(a){a.put("ng-admin/Crud/view/edit-attribute.html",c)}var c=a("text!../view/edit-attribute.html");return b.$inject=["$templateCache"],b}),c("text!ng-admin/Crud/view/list.html",[],function(){return'\n\n\n'}),c("text!ng-admin/Crud/view/create.html",[],function(){return'\n\n
    \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n
    \n
    \n'}),c("text!ng-admin/Crud/view/edit.html",[],function(){return'\n\n
    \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n Delete\n
    \n
    \n
    \n
    \n'}),c("text!ng-admin/Crud/view/delete.html",[],function(){return'\n\n
    \n

    Are you sure ?

    \n \n \n
    \n'}),c("ng-admin/Crud/config/routing",["require","text!../view/list.html","text!../view/create.html","text!../view/edit.html","text!../view/delete.html"],function(a){var b=a("text!../view/list.html"),c=a("text!../view/create.html"),d=a("text!../view/edit.html"),e=a("text!../view/delete.html"),f=function(a){a.state("list",{parent:"main",url:"/list/:entity?q&page&sortField&sortDir&quickFilter",params:{entity:{},q:null,page:1,quickFilter:null,sortField:null,sortDir:null},controller:"ListController",controllerAs:"listController",template:b,resolve:{data:["$stateParams","CrudManager","NgAdminConfiguration",function(a,b,c){var d=c(),e=a.entity,f=d.getEntity(e),g=a.page,h=a.q,i=a.sortField,j=a.sortDir,k=a.quickFilter,l=null; +};return a.prototype.deleteOne=function(){var a=this;this.CrudManager.deleteOne(this.params.entity,this.params.id).then(function(){a.$location.path("/list/"+a.params.entity)})},a.prototype.back=function(){this.$location.path("/edit/"+this.params.entity+"/"+this.params.id)},a.prototype.destroy=function(){this.$scope=void 0,this.$location=void 0,this.CrudManager=void 0,this.params=void 0},a.$inject=["$scope","$location","CrudManager","params"],a}),c("ng-admin/Crud/component/service/CrudManager",["require","angular"],function(a){function b(a,b,c,d){this.$q=a,this.Restangular=b,this.config=c(),this.Field=d,this.Restangular.setBaseUrl(this.config.baseApiUrl()),this.Restangular.setFullResponse(!0)}var c=a("angular");return b.prototype.getOne=function(a,b){if(!this.config.hasEntity(a))return this.$q.reject("Entity "+a+" not found.");var d=this.config.getEntity(a),e=d.interceptor(),f=d.getExtraParams(),g=this.config.getHeaders(a,"getOne");return e&&this.Restangular.addResponseInterceptor(e),this.Restangular.one(a,b).get(f,g).then(function(a){var b=d.getFields(),e=a.data;return c.forEach(b,function(a,b){d.getField(b).value=a.valueTransformer()(e[a.name()])}),d})},b.prototype.createOne=function(a,b){if(!this.config.hasEntity(a))return this.$q.reject("Entity "+a+" not found.");var c=this.config.getHeaders(a,"createOne");return this.Restangular.restangularizeElement(null,b,a).post(null,c)},b.prototype.updateOne=function(a,b){if(!this.config.hasEntity(a))return this.$q.reject("Entity "+a+" not found.");var c=this.config.getHeaders(a,"updateOne");return this.Restangular.restangularizeElement(null,b,a).put(null,c)},b.prototype.deleteOne=function(a,b){var c=this.config.getHeaders(a,"deleteOne");return this.Restangular.one(a,b).remove(null,c)},b.prototype.getAll=function(a,b,d,e,f,g,h,i){if(b="undefined"==typeof b?1:parseInt(b),e="undefined"==typeof e?!0:e,i="undefined"==typeof i?{}:i,!this.config.hasEntity(a))return this.$q.reject("Entity "+a+" not found.");var j,k=this,l=this.config.getEntity(a),m=l.getFields(),n=l.pagination(),o=d||l.perPage(),p=l.interceptor(),q=l.getExtraParams(),r=this.config.getHeaders(a,"getAll"),s=g?g.split(".")[0]:"",t=s===a?l.getSortParams(g.split(".").pop(),h):null;if(i=l.filterParams()(i),t&&t.headers&&(r=c.extend(r,t.headers)),n&&d!==!1&&(q=c.extend(q,n(b,o))),t&&"params"in t&&(q=c.extend(q,t.params)),f&&f.length){var u=l.filterQuery();q=c.extend(q,u(f))}return c.forEach(i,function(a,b){q[b]=a}),p&&this.Restangular.addResponseInterceptor(p),this.Restangular.all(l.name()).getList(q,r).then(function(b){return j=b,k.getReferencedValues(a)}).then(function(d){for(var f=j.data,g=[],h=0,i=f.length;i>h;h++){var n=f[h],p=c.copy(l);c.forEach(m,function(a,b){"callback"===a.type()?p.getField(b).value=a.getCallbackValue(n):a.name()in n&&(p.getField(b).value=a.valueTransformer()(n[a.name()]))}),g.push(p)}return g=k.fillReferencesValuesFromCollection(g,d,e),g=k.truncateListValue(g),{entityName:a,entityConfig:l,entities:g,currentPage:b,perPage:o,totalItems:l.totalItems()(j)}})},b.prototype.getEditionFields=function(a,b){var c=[];if("undefined"!=typeof b&&("string"==typeof b?c.push(b):b.length&&(c=b)),!this.config.hasEntity(a))throw"Entity "+a+" not found.";var d=this.config.getEntity(a);return d.clear(),d},b.prototype.getReferencedValues=function(a){var b=this,d=this.getReferences(a),e=[];return c.forEach(d,function(a){e.push(b.getAll(a.targetEntity().name(),1,!1))}),this.$q.all(e).then(function(a){var e=0;return c.forEach(d,function(c,f){d[f].setChoices(b.getReferenceChoices(c,a[e++].entities))}),d})},b.prototype.getReferencedListValues=function(a,b,d,e){var f=this,g=this.getReferencedLists(a),h=b.getIdentifier().value,i=[];return c.forEach(g,function(a){i.push(f.getAll(a.targetEntity().name(),1,!1,!1,null,d,e))}),this.$q.all(i).then(function(a){var d=0;return c.forEach(g,function(c,e){b.getField(e).setItems(f.filterReferencedList(a[d++].entities,c,h))}),g})},b.prototype.filterReferencedList=function(a,b,d){var e=[],f=b.targetField();return c.forEach(a,function(a){a.getField(f).value==d&&e.push(a)}),e},b.prototype.getReferenceChoices=function(a,b){var d={},e=a.targetEntity(),f=e.getIdentifier().name();return c.forEach(b,function(b){d[b.getField(f).value]=b.getField(a.targetLabel()).value}),d},b.prototype.getReferences=function(a){if(!this.config.hasEntity(a))throw"Entity "+a+" not found.";return this.config.getEntity(a).getReferences()},b.prototype.getReferencedLists=function(a){if(!this.config.hasEntity(a))throw"Entity "+a+" not found.";return this.config.getEntity(a).getReferencedLists()},b.prototype.filterEditionFields=function(a,b){var d={};return c.forEach(a,function(a){return a.edition()?b.length?-1!==b.indexOf(a.edition())?this[a.name()]=a:void 0:this[a.name()]=a:void 0},d),d},b.prototype.fillReferencesValuesFromCollection=function(a,b,d){return d="undefined"==typeof d?!1:d,c.forEach(b,function(b,e){for(var f,g,h=b.getChoices(),i=0,j=a.length;j>i;i++){var k=a[i],l=b.valueTransformer()(k.getField(e).value);"reference-many"===b.type()?(k.getField(e).value=[],c.forEach(l,function(a){k.getField(e).value.push(h[a])})):d&&l&&l in h&&(g=b.targetEntity().getField(b.targetLabel()),f=h[l],k.getField(e).referencedValue=g.getTruncatedListValue(f))}}),a},b.prototype.truncateListValue=function(a){if(a.length){for(var b=0,c=a.length;c>b;b++){var d=a[b];for(var e in d.getFields()){var f=d.getField(e);"function"==typeof f.getTruncatedListValue&&(a[b].getField(e).value=f.getTruncatedListValue(d.getField(e).value))}}return a}},b.$inject=["$q","Restangular","NgAdminConfiguration","Field"],b}),c("ng-admin/Crud/component/directive/Compile",["require","angular"],function(a){function b(a){var b=a.get("$compile");return{link:function(a,c,d){a.$watch(function(a){return a.$eval(d.compile)},function(d){c.html(d),b(c.contents())(a)})}}}a("angular");return b.$inject=["$injector"],b}),c("text!ng-admin/Crud/view/field/string.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/field/StringField",["require","angular","text!../../../view/field/string.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/field/string.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/field/email.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/field/EmailField",["require","angular","text!../../../view/field/email.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/field/email.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/field/text.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/field/TextField",["require","angular","text!../../../view/field/text.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/field/text.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/field/number.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/field/NumberField",["require","angular","text!../../../view/field/number.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/field/number.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/field/date.html",[],function(){return'
    \n \n\n \n \n \n
    \n'}),c("ng-admin/Crud/component/directive/field/DateField",["require","angular","text!../../../view/field/date.html"],function(a){function b(){return{restrict:"E",template:c,controller:["$scope",function(a){a.isOpen=!1,a.toggleDatePicker=function(b){b.preventDefault(),b.stopPropagation(),a.isOpen=!a.isOpen}}]}}var c=(a("angular"),a("text!../../../view/field/date.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/field/boolean.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/field/BooleanField",["require","angular","text!../../../view/field/boolean.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/field/boolean.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/field/choice.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/field/ChoiceField",["require","angular","text!../../../view/field/choice.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/field/choice.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/field/choices.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/field/ChoicesField",["require","angular","text!../../../view/field/choices.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/field/choices.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/field/reference.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/field/ReferenceField",["require","angular","text!../../../view/field/reference.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/field/reference.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/field/referenceMany.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/field/ReferenceManyField",["require","angular","text!../../../view/field/referenceMany.html"],function(a){function b(){}function c(){return{restrict:"E",template:d,controller:b,controllerAs:"referenceManyField"}}var d=(a("angular"),a("text!../../../view/field/referenceMany.html"));return b.prototype.contains=function(a,b){if(!a)return!1;for(var c=0,d=a.length;d>c;c++)if(a[c]==b)return!0;return!1},c.$inject=[],c}),c("text!ng-admin/Crud/view/field/wysiwyg.html",[],function(){return'
    \n'}),c("ng-admin/Crud/component/directive/field/WysiwygField",["require","angular","text!../../../view/field/wysiwyg.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/field/wysiwyg.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/field/callback.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/field/CallbackField",["require","angular","text!../../../view/field/callback.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/field/callback.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/string.html",[],function(){return'\n {{ entity.getField(column.field.name()).value }}\n\n'}),c("ng-admin/Crud/component/directive/column/StringColumn",["require","angular","text!../../../view/column/string.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/string.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/email.html",[],function(){return'\n {{ entity.getField(column.field.name()).value }}\n\n'}),c("ng-admin/Crud/component/directive/column/EmailColumn",["require","angular","text!../../../view/column/email.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/email.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/text.html",[],function(){return'\n {{ entity.getField(column.field.name()).value }}\n\n'}),c("ng-admin/Crud/component/directive/column/TextColumn",["require","angular","text!../../../view/column/text.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/text.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/number.html",[],function(){return'\n {{ entity.getField(column.field.name()).value }}\n\n'}),c("ng-admin/Crud/component/directive/column/NumberColumn",["require","angular","text!../../../view/column/number.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/number.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/date.html",[],function(){return'\n {{ entity.getField(column.field.name()).value }}\n\n'}),c("ng-admin/Crud/component/directive/column/DateColumn",["require","angular","text!../../../view/column/date.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/date.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/boolean.html",[],function(){return'\n\n'}),c("ng-admin/Crud/component/directive/column/BooleanColumn",["require","angular","text!../../../view/column/boolean.html"],function(a){function b(){return{restrict:"E",template:c,controller:function(a){a.isOk=!!a.entity.getField(a.column.field.name()).value}}}var c=(a("angular"),a("text!../../../view/column/boolean.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/choice.html",[],function(){return'\n {{ entity.getField(column.field.name()).value }}\n\n'}),c("ng-admin/Crud/component/directive/column/ChoiceColumn",["require","angular","text!../../../view/column/choice.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/choice.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/choices.html",[],function(){return'\n \n {{ ref }}\n \n\n'}),c("ng-admin/Crud/component/directive/column/ChoicesColumn",["require","angular","text!../../../view/column/choices.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/choices.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/reference.html",[],function(){return'\n {{ entity.getField(column.field.name()).getListValue() }}\n\n'}),c("ng-admin/Crud/component/directive/column/ReferenceColumn",["require","angular","text!../../../view/column/reference.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/reference.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/referenceMany.html",[],function(){return'\n \n {{ ref }}\n \n\n'}),c("ng-admin/Crud/component/directive/column/ReferenceManyColumn",["require","angular","text!../../../view/column/referenceMany.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/referenceMany.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/wysiwyg.html",[],function(){return'\n {{ entity.getField(column.field.name()).value }}\n\n'}),c("ng-admin/Crud/component/directive/column/WysiwygColumn",["require","angular","text!../../../view/column/wysiwyg.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/wysiwyg.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/callback.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/column/CallbackColumn",["require","angular","text!../../../view/column/callback.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/callback.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/datagrid.html",[],function(){return'\n \n \n \n \n \n\n \n \n \n \n \n
    \n \n \n\n {{ column.label }}\n \n
    \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n
    \n\n\n'}),c("ng-admin/Crud/component/controller/directive/DatagridController",[],function(){function a(a,b){this.$scope=a,this.$location=b;var c=this.$location.search();this.sortField="sortField"in c?c.sortField:"",this.sortDir="sortDir"in c?c.sortDir:"",this.retrieveColumns()}return a.prototype.retrieveColumns=function(){if(!this.$scope.columns){var a=[];angular.forEach(this.$scope.entityConfig.getFields(),function(b){b.list()&&a.push({field:b,label:b.label()})}),this.$scope.columns=a}},a.prototype.isSorting=function(a){return this.sortField===a.getSortName()},a.prototype.itemClass=function(a){return a%2===0?"even":"odd"},a.prototype.sort=function(a){var b="ASC",c=a.getSortName();this.sortField===c&&(b="ASC"===this.sortDir?"DESC":"ASC"),this.$location.search("sortField",c),this.$location.search("sortDir",b)},a.$inject=["$scope","$location"],a}),c("ng-admin/Crud/component/directive/Datagrid",["require","angular","text!../../view/datagrid.html","ng-admin/Crud/component/controller/directive/DatagridController"],function(a){function b(){return{restrict:"E",template:c,controllerAs:"datagrid",controller:d}}var c=(a("angular"),a("text!../../view/datagrid.html")),d=a("ng-admin/Crud/component/controller/directive/DatagridController");return b.$inject=[],b}),c("text!ng-admin/Crud/view/datagrid-pagination.html",[],function(){return'
    \n
    \n \n {{ pagination.offsetBegin }} - {{ pagination.offsetEnd }} on {{ pagination.totalItems }}\n \n \n
    \n
    \n'}),c("ng-admin/Crud/component/controller/directive/DatagridPaginationController",["nprogress"],function(){function a(a,b,c,d){this.$scope=a,this.$location=b,this.loadingPage=!1,this.$anchorScroll=c,this.CrudManager=d,this.infinitePagination=this.$scope.hasPagination&&this.$scope.entityConfig.infinitePagination()}var c=b("nprogress");return a.prototype.computePagination=function(){var a=this.$scope.entityConfig.perPage(),b=this.$location.search().page||1,c=this.$scope.totalItems;this.currentPage=b,this.offsetBegin=(b-1)*a+1,this.offsetEnd=Math.min(b*a,c),this.totalItems=c,this.nbPages=Math.ceil(c/(a||1))||1},a.prototype.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},a.prototype.nextPage=function(){var a=this.$scope.entityConfig;if(!this.loadingPage&&this.infinitePagination&&this.currentPage!==this.nbPages){var b=this,d=this.$location.search(),e="sortField"in d?d.sortField:"",f="sortDir"in d?d.sortDir:"";this.loadingPage=!0,this.currentPage++,c.start(),this.CrudManager.getAll(a.name(),this.currentPage,null,!0,null,e,f).then(function(a){c.done(),b.$scope.entities=b.$scope.entities.concat(a.entities),b.loadingPage=!1})}},a.prototype.setPage=function(a){0>=a||a>this.nbPages||(this.$location.search("page",a),this.$anchorScroll(0))},a.$inject=["$scope","$location","$anchorScroll","CrudManager"],a}),c("ng-admin/Crud/component/directive/DatagridPagination",["require","angular","text!../../view/datagrid-pagination.html","ng-admin/Crud/component/controller/directive/DatagridPaginationController"],function(a){function b(a,b){return{restrict:"E",template:d,controllerAs:"pagination",controller:e,link:function(d,e,f,g){var h=f.offset||100,i=b[0].body;d.hasPagination=e.parent()[0].hasAttribute("with-pagination")?d.$eval(e.parent()[0].getAttribute("with-pagination")):!0,d.hasPagination&&g.computePagination(),c.element(a).bind("scroll",function(){i.offsetHeight-a.innerHeight-a.scrollY\n
  • \n Filters:\n
  • \n
  • \n None\n
  • \n
  • \n {{ label }}\n
  • \n\n'}),c("ng-admin/Crud/component/controller/directive/QuickFilterController",["require"],function(){function a(a,b){this.$scope=a,this.$location=b;var c=this.$location.search();this.quickFilters=this.$scope.entityConfig.getQuickFilterNames(),this.currentQuickFilter="quickFilter"in c?c.quickFilter:null,this.displayFilterQuery=this.$scope.entityConfig.filterQuery()!==!1}return a.prototype.filter=function(a){this.$location.search("quickFilter",a)},a.$inject=["$scope","$location"],a}),c("ng-admin/Crud/component/directive/QuickFilter",["require","angular","text!../../view/quick-filter.html","ng-admin/Crud/component/controller/directive/QuickFilterController"],function(a){function b(){return{restrict:"E",template:c,controllerAs:"quickFilter",controller:d}}var c=(a("angular"),a("text!../../view/quick-filter.html")),d=a("ng-admin/Crud/component/controller/directive/QuickFilterController");return b.$inject=[],b}),c("text!ng-admin/Crud/view/edit-attribute.html",[],function(){return'\n\n
    \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n
    \n\n
    \n
    \n

    {{ field.value }}

    \n
    \n
    \n'}),c("ng-admin/Crud/run/cacheTemplate",["require","text!../view/edit-attribute.html"],function(a){function b(a){a.put("ng-admin/Crud/view/edit-attribute.html",c)}var c=a("text!../view/edit-attribute.html");return b.$inject=["$templateCache"],b}),c("text!ng-admin/Crud/view/list.html",[],function(){return'\n\n\n'}),c("text!ng-admin/Crud/view/create.html",[],function(){return'\n\n
    \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n
    \n
    \n'}),c("text!ng-admin/Crud/view/edit.html",[],function(){return'\n\n
    \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n Delete\n
    \n
    \n
    \n
    \n'}),c("text!ng-admin/Crud/view/delete.html",[],function(){return'\n\n
    \n

    Are you sure ?

    \n \n \n
    \n'}),c("ng-admin/Crud/config/routing",["require","text!../view/list.html","text!../view/create.html","text!../view/edit.html","text!../view/delete.html"],function(a){var b=a("text!../view/list.html"),c=a("text!../view/create.html"),d=a("text!../view/edit.html"),e=a("text!../view/delete.html"),f=function(a){a.state("list",{parent:"main",url:"/list/:entity?q&page&sortField&sortDir&quickFilter",params:{entity:{},q:null,page:1,quickFilter:null,sortField:null,sortDir:null},controller:"ListController",controllerAs:"listController",template:b,resolve:{data:["$stateParams","CrudManager","NgAdminConfiguration",function(a,b,c){var d=c(),e=a.entity,f=d.getEntity(e),g=a.page,h=a.q,i=a.sortField,j=a.sortDir,k=a.quickFilter,l=null; return k&&(l=f.getQuickFilterParams(k)),b.getAll(e,g,null,!0,h,i,j,l)}]}}),a.state("create",{parent:"main",url:"/create/:entity",controller:"FormController",controllerAs:"formController",template:c,resolve:{entity:["$stateParams","CrudManager",function(a,b){return b.getEditionFields(a.entity,"editable")}],referencedValues:["$stateParams","CrudManager",function(a,b){return b.getReferencedValues(a.entity)}]}}),a.state("edit",{parent:"main",url:"/edit/:entity/:id?sortField&sortDir",controller:"FormController",controllerAs:"formController",template:d,params:{entity:{},id:null,sortField:null,sortDir:null},resolve:{entity:["$stateParams","CrudManager",function(a,b){return b.getOne(a.entity,a.id)}],referencedValues:["$stateParams","CrudManager",function(a,b){return b.getReferencedValues(a.entity)}],referencedListValues:["$stateParams","entity","CrudManager",function(a,b,c){var d=a.sortField,e=a.sortDir;return c.getReferencedListValues(a.entity,b,d,e)}]}}),a.state("delete",{parent:"main",url:"/delete/:entity/:id",controller:"DeleteController",controllerAs:"deleteController",template:e,resolve:{params:["$stateParams",function(a){return a}]}})};return f.$inject=["$stateProvider"],f}),c("CrudModule",["require","angular","angular-ui-router","angular-sanitize","angular-bootstrap-tpls","textangular","ng-admin/Crud/component/controller/ListController","ng-admin/Crud/component/controller/FormController","ng-admin/Crud/component/controller/DeleteController","ng-admin/Crud/component/service/CrudManager","ng-admin/Crud/component/directive/Compile","ng-admin/Crud/component/directive/field/StringField","ng-admin/Crud/component/directive/field/EmailField","ng-admin/Crud/component/directive/field/TextField","ng-admin/Crud/component/directive/field/NumberField","ng-admin/Crud/component/directive/field/DateField","ng-admin/Crud/component/directive/field/BooleanField","ng-admin/Crud/component/directive/field/ChoiceField","ng-admin/Crud/component/directive/field/ChoicesField","ng-admin/Crud/component/directive/field/ReferenceField","ng-admin/Crud/component/directive/field/ReferenceManyField","ng-admin/Crud/component/directive/field/WysiwygField","ng-admin/Crud/component/directive/field/CallbackField","ng-admin/Crud/component/directive/column/StringColumn","ng-admin/Crud/component/directive/column/EmailColumn","ng-admin/Crud/component/directive/column/TextColumn","ng-admin/Crud/component/directive/column/NumberColumn","ng-admin/Crud/component/directive/column/DateColumn","ng-admin/Crud/component/directive/column/BooleanColumn","ng-admin/Crud/component/directive/column/ChoiceColumn","ng-admin/Crud/component/directive/column/ChoicesColumn","ng-admin/Crud/component/directive/column/ReferenceColumn","ng-admin/Crud/component/directive/column/ReferenceManyColumn","ng-admin/Crud/component/directive/column/WysiwygColumn","ng-admin/Crud/component/directive/column/CallbackColumn","ng-admin/Crud/component/directive/Datagrid","ng-admin/Crud/component/directive/DatagridPagination","ng-admin/Crud/component/directive/QuickFilter","ng-admin/Crud/run/cacheTemplate","ng-admin/Crud/config/routing"],function(a){var b=a("angular");a("angular-ui-router"),a("angular-sanitize"),a("angular-bootstrap-tpls"),a("textangular");var c=b.module("crud",["ui.router","ui.bootstrap","ngSanitize","textAngular"]);return c.controller("ListController",a("ng-admin/Crud/component/controller/ListController")),c.controller("FormController",a("ng-admin/Crud/component/controller/FormController")),c.controller("DeleteController",a("ng-admin/Crud/component/controller/DeleteController")),c.service("CrudManager",a("ng-admin/Crud/component/service/CrudManager")),c.directive("compile",a("ng-admin/Crud/component/directive/Compile")),c.directive("stringField",a("ng-admin/Crud/component/directive/field/StringField")),c.directive("emailField",a("ng-admin/Crud/component/directive/field/EmailField")),c.directive("textField",a("ng-admin/Crud/component/directive/field/TextField")),c.directive("numberField",a("ng-admin/Crud/component/directive/field/NumberField")),c.directive("dateField",a("ng-admin/Crud/component/directive/field/DateField")),c.directive("booleanField",a("ng-admin/Crud/component/directive/field/BooleanField")),c.directive("choiceField",a("ng-admin/Crud/component/directive/field/ChoiceField")),c.directive("choicesField",a("ng-admin/Crud/component/directive/field/ChoicesField")),c.directive("referenceField",a("ng-admin/Crud/component/directive/field/ReferenceField")),c.directive("referenceManyField",a("ng-admin/Crud/component/directive/field/ReferenceManyField")),c.directive("wysiwygField",a("ng-admin/Crud/component/directive/field/WysiwygField")),c.directive("callbackField",a("ng-admin/Crud/component/directive/field/CallbackField")),c.directive("stringColumn",a("ng-admin/Crud/component/directive/column/StringColumn")),c.directive("emailColumn",a("ng-admin/Crud/component/directive/column/EmailColumn")),c.directive("textColumn",a("ng-admin/Crud/component/directive/column/TextColumn")),c.directive("numberColumn",a("ng-admin/Crud/component/directive/column/NumberColumn")),c.directive("dateColumn",a("ng-admin/Crud/component/directive/column/DateColumn")),c.directive("booleanColumn",a("ng-admin/Crud/component/directive/column/BooleanColumn")),c.directive("choiceColumn",a("ng-admin/Crud/component/directive/column/ChoiceColumn")),c.directive("choicesColumn",a("ng-admin/Crud/component/directive/column/ChoicesColumn")),c.directive("referenceColumn",a("ng-admin/Crud/component/directive/column/ReferenceColumn")),c.directive("referenceManyColumn",a("ng-admin/Crud/component/directive/column/ReferenceManyColumn")),c.directive("wysiwygColumn",a("ng-admin/Crud/component/directive/column/WysiwygColumn")),c.directive("callbackColumn",a("ng-admin/Crud/component/directive/column/CallbackColumn")),c.directive("datagrid",a("ng-admin/Crud/component/directive/Datagrid")),c.directive("datagridPagination",a("ng-admin/Crud/component/directive/DatagridPagination")),c.directive("quickFilter",a("ng-admin/Crud/component/directive/QuickFilter")),c.run(a("ng-admin/Crud/run/cacheTemplate")),c.config(a("ng-admin/Crud/config/routing")),c.config(["$provide",function(a){a.decorator("dateParser",["$delegate",function(a){var c=a.parse;return a.parse=function(a,d){return b.isString(a)&&d?c.apply(this,arguments):a},a}])}]),c}),b.config({paths:{angular:"bower_components/angular/angular","angular-resource":"bower_components/angular-resource/angular-resource","angular-sanitize":"bower_components/angular-sanitize/angular-sanitize","angular-route":"bower_components/angular-route/angular-route","angular-ui-router":"bower_components/angular-ui-router/release/angular-ui-router",lodash:"bower_components/lodash/dist/lodash.min",text:"bower_components/requirejs-text/text","angular-bootstrap":"bower_components/angular-bootstrap/ui-bootstrap.min","angular-bootstrap-tpls":"bower_components/angular-bootstrap/ui-bootstrap-tpls.min",restangular:"bower_components/restangular/dist/restangular",humane:"bower_components/humane/humane",nprogress:"bower_components/nprogress/nprogress",textangular:"bower_components/textAngular/dist/textAngular.min",MainModule:"ng-admin/Main/MainModule",CrudModule:"ng-admin/Crud/CrudModule"},shim:{angular:{exports:"angular"},restangular:{deps:["angular","lodash"]},"angular-ui-router":{deps:["angular"]},"angular-bootstrap":{deps:["angular"]},"angular-bootstrap-tpls":{deps:["angular","angular-bootstrap"]},jquery:{exports:"$"},"angular-resource":{deps:["angular"]},"angular-sanitize":{deps:["angular"]},"angular-route":{deps:["angular"]},nprogress:{exports:"NProgress"}}}),c("ng-admin",["require","angular","MainModule","CrudModule"],function(a){var b=a("angular");a("MainModule"),a("CrudModule"),b.module("ng-admin",["main","crud"])}),b("ng-admin")}); \ No newline at end of file