From e6d853a346c0f22612c90bba038750ad313d51ac Mon Sep 17 00:00:00 2001 From: Eugene Fidelin Date: Tue, 14 Nov 2017 11:15:33 +0100 Subject: [PATCH] Release 0.8.1 --- CHANGELOG.txt | 7 ++ bower.json | 2 +- dist/css/xeditable.min.css | 4 +- dist/js/xeditable.js | 19 ++++-- dist/js/xeditable.min.js | 8 +-- index.html | 62 +++++++++++++----- package.json | 2 +- .../angular-xeditable/css/xeditable.min.css | 4 +- starter/angular-xeditable/js/xeditable.js | 19 ++++-- starter/angular-xeditable/js/xeditable.min.js | 8 +-- zip/angular-xeditable-0.8.1.zip | Bin 0 -> 38831 bytes zip/angular-xeditable-starter.zip | Bin 39736 -> 39867 bytes 12 files changed, 96 insertions(+), 39 deletions(-) create mode 100644 zip/angular-xeditable-0.8.1.zip diff --git a/CHANGELOG.txt b/CHANGELOG.txt index a2b1d5a8..1e25fdc0 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,6 +1,13 @@ Angular-xeditable changelog ============================= +Version 0.8.1 Nov 14, 2017 + +---------------------------- +[bug #702] Fix Node/Phantomjs/Karma syntax error (ckosloski) +[bug #690] Fix e-formclass for textarea (ckosloski) +[bug #679] Fix combodate not updating value if the combobox is not changed (chiu0602) + Version 0.8.0 Jun 6, 2017 ---------------------------- diff --git a/bower.json b/bower.json index cb6a4035..4fcb7f44 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "angular-xeditable", - "version": "0.8.0", + "version": "0.8.1", "description": "Edit in place for AngularJS", "author": "https://github.com/vitalets", "license": "MIT", diff --git a/dist/css/xeditable.min.css b/dist/css/xeditable.min.css index b19ca268..451ca233 100644 --- a/dist/css/xeditable.min.css +++ b/dist/css/xeditable.min.css @@ -1,7 +1,7 @@ /*! -angular-xeditable - 0.8.0 +angular-xeditable - 0.8.1 Edit-in-place for angular.js -Build date: 2017-06-06 +Build date: 2017-11-14 */ .editable-wrap{display:inline-block;white-space:pre;margin:0}.editable-wrap .editable-controls,.editable-wrap .editable-error{margin-bottom:0}.editable-wrap .editable-controls>input,.editable-wrap .editable-controls>select,.editable-wrap .editable-controls>textarea{margin-bottom:0}.editable-wrap .editable-input{display:inline-block}.editable-buttons{display:inline-block;vertical-align:top}.editable-buttons button{margin-left:5px}.editable-input.editable-has-buttons{width:auto}.editable-text{white-space:nowrap}.editable-bsdate{white-space:nowrap}.editable-bstime{white-space:nowrap}.editable-bstime .editable-input input[type=text]{width:46px}.editable-bstime .well-small{margin-bottom:0;padding:10px}.editable-range output{display:inline-block;min-width:30px;vertical-align:top;text-align:center}.editable-color input[type=color]{width:50px}.editable-checkbox label span,.editable-checklist label span,.editable-radiolist label span{margin-left:7px;margin-right:10px}.editable-hide{display:none!important}.editable-click,a.editable-click{text-decoration:none;color:#428bca;border-bottom:dashed 1px #428bca}.editable-click:hover,a.editable-click:hover{text-decoration:none;color:#2a6496;border-bottom-color:#2a6496}.editable-empty,.editable-empty:hover,.editable-empty:focus,a.editable-empty,a.editable-empty:hover,a.editable-empty:focus{font-style:italic;color:#D14;text-decoration:none}.ui-popover-wrapper a{display:inline!important}.ui-popover-wrapper form{display:none!important}.popover-wrapper>a{display:inline!important}.popover-wrapper{display:inline;position:relative}.popover-wrapper form{position:absolute;top:-53px;background:#FFF;border:1px solid #AAA;border-radius:5px;padding:7px;width:auto;display:inline-block;left:50%;z-index:101}.popover-wrapper form:before{content:"";width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid #AAA;position:absolute;bottom:-10px}.popover-wrapper form:after{content:"";width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-top:9px solid #FFF;position:absolute;bottom:-9px}@media screen and (max-width:750px){.popover-wrapper form{margin-left:-60px}.popover-wrapper form:before{left:50px}.popover-wrapper form:after{left:51px}}@media screen and (min-width:750px){.popover-wrapper form{margin-left:-110px}.popover-wrapper form:before{left:100px}.popover-wrapper form:after{left:101px}} \ No newline at end of file diff --git a/dist/js/xeditable.js b/dist/js/xeditable.js index 435b2c34..ac59a742 100644 --- a/dist/js/xeditable.js +++ b/dist/js/xeditable.js @@ -1,7 +1,7 @@ /*! -angular-xeditable - 0.8.0 +angular-xeditable - 0.8.1 Edit-in-place for angular.js -Build date: 2017-06-06 +Build date: 2017-11-14 */ /** * Angular-xeditable module @@ -428,12 +428,11 @@ angular.module('xeditable').directive('editableCombodate', ['editableDirectiveFa //.replace is so this works in Safari self.scope.$data = combodate.getValue() ? (new Date(combodate.getValue().replace(/-/g, "/"))).toISOString() : null; - }); + }).change(); } }); } ]); - /* Input types: text|password|email|tel|number|url|search|color|date|datetime|datetime-local|time|month|week|file */ @@ -489,6 +488,7 @@ Input types: text|password|email|tel|number|url|search|color|date|datetime|datet // Add classes to the form if (this.attrs.eFormclass) { this.editorEl.addClass(this.attrs.eFormclass); + this.inputEl.removeAttr('formclass'); } }, autosubmit: function() { @@ -636,6 +636,15 @@ angular.module('xeditable').directive('editableTextarea', ['editableDirectiveFac return editableDirectiveFactory({ directiveName: 'editableTextarea', inputTpl: '', + render: function() { + this.parent.render.call(this); + + // Add classes to the form + if (this.attrs.eFormclass) { + this.editorEl.addClass(this.attrs.eFormclass); + this.inputEl.removeAttr('formclass'); + } + }, addListeners: function() { var self = this; self.parent.addListeners.call(self); @@ -1319,7 +1328,7 @@ function($parse, $compile, editableThemes, $rootScope, $document, editableContro if (getter) { // form exists in scope (above), e.g. editable column eFormCtrl = getter; hasForm = true; - } else if (elem && typeof elem.parents === "function" && elem.parents().last().find('form[name='+attrs.eForm+']').length) { // form exists below or not exist at all: check document.forms + } else if (elem && typeof elem.parents === "function" && elem.parents().last().find('form[name="'+attrs.eForm+'"]').length) { // form exists below or not exist at all: check document.forms // form is below and not processed yet eFormCtrl = null; hasForm = true; diff --git a/dist/js/xeditable.min.js b/dist/js/xeditable.min.js index 1c06f958..9ebe92b0 100644 --- a/dist/js/xeditable.min.js +++ b/dist/js/xeditable.min.js @@ -1,7 +1,7 @@ /*! -angular-xeditable - 0.8.0 +angular-xeditable - 0.8.1 Edit-in-place for angular.js -Build date: 2017-06-06 +Build date: 2017-11-14 */ -angular.module("xeditable",[]).value("editableOptions",{theme:"default",icon_set:"default",buttons:"right",blurElem:"cancel",blurForm:"ignore",activate:"focus",isDisabled:!1,activationEvent:"click",submitButtonTitle:"Submit",submitButtonAriaLabel:"Submit",cancelButtonTitle:"Cancel",cancelButtonAriaLabel:"Cancel",clearButtonTitle:"Clear",clearButtonAriaLabel:"Clear",displayClearButton:!1}),angular.module("xeditable").directive("editableBsdate",["editableDirectiveFactory","$injector","$parse",function(a,b,c){uibDatepickerConfig=b.get("uibDatepickerConfig"),uibDatepickerPopupConfig=b.get("uibDatepickerPopupConfig");var d=[["eIsOpen","is-open"],["eDateDisabled","date-disabled"],["eDatepickerPopup","uib-datepicker-popup"],["eShowButtonBar","show-button-bar"],["eCurrentText","current-text"],["eClearText","clear-text"],["eCloseText","close-text"],["eCloseOnDateSelection","close-on-date-selection"],["eDatepickerAppendToBody","datepicker-append-to-body"],["eOnOpenFocus","on-open-focus"],["eName","name"],["eDateDisabled","date-disabled"],["eAltInputFormats","alt-input-formats"]],e=[["eFormatDay","formatDay"],["eFormatMonth","formatMonth"],["eFormatYear","formatYear"],["eFormatDayHeader","formatDayHeader"],["eFormatDayTitle","formatDayTitle"],["eFormatMonthTitle","formatMonthTitle"],["eMaxMode","maxMode"],["eMinMode","minMode"],["eDatepickerMode","datepickerMode"]];return a({directiveName:"editableBsdate",inputTpl:"
",render:function(){this.parent.render.call(this);var a=this.attrs,b=this.scope,f=angular.element('');f.attr("uib-datepicker-popup",a.eDatepickerPopupXEditable||uibDatepickerPopupConfig.datepickerPopup),f.attr("year-range",a.eYearRange||20),f.attr("ng-readonly",a.eReadonly||!1);for(var g=d.length-1;g>=0;g--){var h=a[d[g][0]];"undefined"!=typeof h&&f.attr(d[g][1],h)}a.eNgChange&&(f.attr("ng-change",a.eNgChange),this.inputEl.removeAttr("ng-change")),a.eStyle&&(f.attr("style",a.eStyle),this.inputEl.removeAttr("style"));var i={maxDate:b.$eval(a.eMaxDate)||uibDatepickerConfig.maxDate,minDate:b.$eval(a.eMinDate)||uibDatepickerConfig.minDate,showWeeks:a.eShowWeeks?"true"===a.eShowWeeks.toLowerCase():uibDatepickerConfig.showWeeks,startingDay:a.eStartingDay||0,initDate:b.$eval(a.eInitDate)||new Date};if(a.eDatepickerOptions){var j=c(a.eDatepickerOptions)(b);angular.extend(i,j)}for(var k=e.length-1;k>=0;k--){var l=a[e[k][0]];"undefined"!=typeof l&&(i[e[k][1]]=l)}b.dateOptions=i;var m=angular.isDefined(a.eShowCalendarButton)?a.eShowCalendarButton:"true";if("true"===m){var n=angular.element(''),o=angular.element('');n.attr("ng-click",a.eNgClick),o.append(n),this.inputEl.append(o)}else f.attr("ng-click",a.eNgClick);f.attr("datepicker-options","dateOptions"),this.inputEl.prepend(f),this.inputEl.removeAttr("class"),this.inputEl.removeAttr("ng-click"),this.inputEl.removeAttr("is-open"),this.inputEl.removeAttr("init-date"),this.inputEl.removeAttr("datepicker-popup"),this.inputEl.removeAttr("required"),this.inputEl.removeAttr("ng-model"),this.inputEl.removeAttr("date-picker-append-to-body"),this.inputEl.removeAttr("name"),this.inputEl.attr("class","input-group")},autosubmit:function(){var a=this;a.inputEl.bind("change",function(){setTimeout(function(){a.scope.$apply(function(){a.scope.$form.$submit()})},500)}),a.inputEl.bind("keydown",function(b){9===b.keyCode&&"submit"===a.editorEl.attr("blur")&&a.scope.$apply(function(){a.scope.$form.$submit()})})}})}]),angular.module("xeditable").directive("editableBstime",["editableDirectiveFactory",function(a){return a({directiveName:"editableBstime",inputTpl:"
",render:function(){this.parent.render.call(this);var a=angular.element('
');a.attr("ng-model",this.inputEl.attr("ng-model")),this.inputEl.removeAttr("ng-model"),this.attrs.eNgChange&&(a.attr("ng-change",this.inputEl.attr("ng-change")),this.inputEl.removeAttr("ng-change")),this.inputEl.wrap(a)}})}]),angular.module("xeditable").directive("editableCheckbox",["editableDirectiveFactory",function(a){return a({directiveName:"editableCheckbox",inputTpl:'',render:function(){this.parent.render.call(this),this.inputEl.wrap(""),this.attrs.eTitle&&this.inputEl.parent().append(""+this.attrs.eTitle+"")},autosubmit:function(){var a=this;a.inputEl.bind("change",function(){setTimeout(function(){a.scope.$apply(function(){a.scope.$form.$submit()})},500)})}})}]),angular.module("xeditable").directive("editableChecklist",["editableDirectiveFactory","editableNgOptionsParser",function(a,b){return a({directiveName:"editableChecklist",inputTpl:"",useCopy:!0,render:function(){this.parent.render.call(this);var a=b(this.attrs.eNgOptions),c="",d="";this.attrs.eNgChange&&(c=' ng-change="'+this.attrs.eNgChange+'"'),this.attrs.eChecklistComparator&&(d=' checklist-comparator="'+this.attrs.eChecklistComparator+'"');var e='';this.inputEl.removeAttr("ng-model"),this.inputEl.removeAttr("ng-options"),this.inputEl.removeAttr("ng-change"),this.inputEl.removeAttr("checklist-comparator"),this.inputEl.html(e)}})}]),angular.module("xeditable").directive("editableCombodate",["editableDirectiveFactory","editableCombodate",function(a,b){return a({directiveName:"editableCombodate",inputTpl:'',render:function(){this.parent.render.call(this);var a={value:new Date(this.scope.$data)},c=this;angular.forEach(["format","template","minYear","maxYear","yearDescending","minuteStep","secondStep","firstItem","errorClass","customClass","roundTime","smartDays"],function(b){var d="e"+b.charAt(0).toUpperCase()+b.slice(1);d in c.attrs&&("minYear"==b||"maxYear"==b||"minuteStep"==b||"secondStep"==b?a[b]=parseInt(c.attrs[d],10):a[b]=c.attrs[d])});var d=b.getInstance(this.inputEl,a);d.$widget.find("select").bind("change",function(a){c.scope.$data=d.getValue()?new Date(d.getValue().replace(/-/g,"/")).toISOString():null})}})}]),function(){var a=function(a){return a.toLowerCase().replace(/-(.)/g,function(a,b){return b.toUpperCase()})},b="text|password|email|tel|number|url|search|color|date|datetime|datetime-local|time|month|week|file".split("|");angular.forEach(b,function(b){var c=a("editable-"+b);angular.module("xeditable").directive(c,["editableDirectiveFactory",function(a){return a({directiveName:c,inputTpl:'',render:function(){if(this.parent.render.call(this),this.attrs.eInputgroupleft||this.attrs.eInputgroupright){if(this.inputEl.wrap('
'),this.attrs.eInputgroupleft){var a=angular.element(''+this.attrs.eInputgroupleft+"");this.inputEl.parent().prepend(a)}if(this.attrs.eInputgroupright){var b=angular.element(''+this.attrs.eInputgroupright+"");this.inputEl.parent().append(b)}}if(this.attrs.eLabel){var c=angular.element("");this.attrs.eInputgroupleft||this.attrs.eInputgroupright?this.inputEl.parent().parent().prepend(c):this.inputEl.parent().prepend(c)}this.attrs.eFormclass&&this.editorEl.addClass(this.attrs.eFormclass)},autosubmit:function(){var a=this;a.inputEl.bind("keydown",function(b){9===b.keyCode&&"submit"===a.editorEl.attr("blur")&&a.scope.$apply(function(){a.scope.$form.$submit()})})}})}])}),angular.module("xeditable").directive("editableRange",["editableDirectiveFactory","$interpolate",function(a,b){return a({directiveName:"editableRange",inputTpl:'',render:function(){this.parent.render.call(this),this.inputEl.after(""+b.startSymbol()+"$data"+b.endSymbol()+"")}})}])}(),angular.module("xeditable").directive("editableTagsInput",["editableDirectiveFactory","editableUtils",function(a,b){var c=a({directiveName:"editableTagsInput",inputTpl:"",useCopy:!0,render:function(){this.parent.render.call(this),this.inputEl.append(b.rename("auto-complete",this.attrs.$autoCompleteElement)),this.inputEl.removeAttr("ng-model"),this.inputEl.attr("ng-model","$parent.$data")}}),d=c.link;return c.link=function(a,b,c,e){var f=b.find("editable-tags-input-auto-complete");return c.$autoCompleteElement=f.clone(),f.remove(),d(a,b,c,e)},c}]),angular.module("xeditable").directive("editableRadiolist",["editableDirectiveFactory","editableNgOptionsParser","$interpolate",function(a,b,c){return a({directiveName:"editableRadiolist",inputTpl:"",render:function(){this.parent.render.call(this);var a=b(this.attrs.eNgOptions),d="",e="";this.attrs.eNgChange&&(d=' ng-change="'+this.attrs.eNgChange+'"'),this.attrs.eName&&(e=' name="'+this.attrs.eName+'"');var f='';this.inputEl.removeAttr("ng-model"),this.inputEl.removeAttr("ng-options"),this.inputEl.removeAttr("ng-change"),this.inputEl.html(f)},autosubmit:function(){var a=this;a.inputEl.bind("change",function(){setTimeout(function(){a.scope.$apply(function(){a.scope.$form.$submit()})},500)})}})}]),angular.module("xeditable").directive("editableSelect",["editableDirectiveFactory",function(a){return a({directiveName:"editableSelect",inputTpl:"",render:function(){if(this.parent.render.call(this),this.attrs.ePlaceholder){var a=angular.element('");this.inputEl.append(a)}},autosubmit:function(){var a=this;a.attrs.hasOwnProperty("eMultiple")||a.inputEl.bind("change",function(){a.scope.$apply(function(){a.scope.$form.$submit()})})}})}]),angular.module("xeditable").directive("editableTextarea",["editableDirectiveFactory",function(a){return a({directiveName:"editableTextarea",inputTpl:"",addListeners:function(){var a=this;a.parent.addListeners.call(a),a.single&&"no"!==a.buttons&&a.autosubmit()},autosubmit:function(){var a=this;a.inputEl.bind("keydown",function(b){a.attrs.submitOnEnter?13!==b.keyCode||b.shiftKey||a.scope.$apply(function(){a.scope.$form.$submit()}):((b.ctrlKey||b.metaKey)&&13===b.keyCode||9===b.keyCode&&"submit"===a.editorEl.attr("blur"))&&a.scope.$apply(function(){a.scope.$form.$submit()})})}})}]),angular.module("xeditable").directive("editableUidate",["editableDirectiveFactory",function(a){return a({directiveName:"editableUidate",inputTpl:'',render:function(){this.parent.render.call(this),this.inputEl.attr("ui-date",this.attrs.eUiDate),this.inputEl.attr("placeholder",this.attrs.ePlaceholder)}})}]),angular.module("xeditable").directive("editableUiSelect",["editableDirectiveFactory","editableUtils",function(a,b){var c=a({directiveName:"editableUiSelect",inputTpl:"",render:function(){this.parent.render.call(this),this.inputEl.append(b.rename("ui-select-match",this.attrs.$matchElement)),this.inputEl.append(b.rename("ui-select-choices",this.attrs.$choicesElement)),this.inputEl.removeAttr("ng-model"),this.inputEl.attr("ng-model","$parent.$parent.$data")},autosubmit:function(){var a=this;a.inputEl.bind("change",function(){setTimeout(function(){a.scope.$apply(function(){a.scope.$form.$submit()})},500)}),a.inputEl.bind("keydown",function(b){9===b.keyCode&&"submit"===a.editorEl.attr("blur")&&a.scope.$apply(function(){a.scope.$form.$submit()})})}}),d=c.link;return c.link=function(a,b,c,e){var f=b.find("editable-ui-select-match"),g=b.find("editable-ui-select-choices");return c.$matchElement=f.clone(),c.$choicesElement=g.clone(),f.remove(),g.remove(),d(a,b,c,e)},c}]),angular.module("xeditable").factory("editableController",["$q","editableUtils",function(a,b){function c(a,c,d,e,f,g,h,i,j,k,l,m){var n,o,p=this;p.scope=a,p.elem=d,p.attrs=c,p.inputEl=null,p.editorEl=null,p.single=!0,p.error="",p.theme=f[c.editableTheme]||f[h.theme]||f["default"],p.parent={};var q=c.editableTheme||h.theme||"default",r=c.editableIconSet||h.icon_set;p.icon_set="default"===r?g["default"][q]:g.external[r],p.inputTpl="",p.directiveName="",p.useCopy=!1,p.single=null,p.buttons="right",p.popover=!1,p.init=function(b){if(p.single=b,p.name=c.eName||c[p.directiveName],!c[p.directiveName])throw"You should provide value for `"+p.directiveName+"` in editable element!";n=e(c[p.directiveName]),p.single?p.buttons=p.attrs.buttons||h.buttons:p.buttons="no",c.eName&&p.scope.$watch("$data",function(a){p.scope.$form.$data[c.eName]=a}),c.onshow&&(p.onshow=function(){return p.catchError(e(c.onshow)(a))}),c.onhide&&(p.onhide=function(){return e(c.onhide)(a)}),c.oncancel&&(p.oncancel=function(){return e(c.oncancel)(a)}),c.onbeforesave&&(p.onbeforesave=function(){return p.catchError(e(c.onbeforesave)(a))}),c.onaftersave&&(p.onaftersave=function(){return p.catchError(e(c.onaftersave)(a))}),c.popover&&(p.popover=p.attrs.popover),a.$parent.$watch(c[p.directiveName],function(a,b){p.setLocalValue(),p.handleEmpty()})},p.render=function(){var a=p.theme;p.inputEl=angular.element(p.inputTpl),p.controlsEl=angular.element(a.controlsTpl),p.controlsEl.append(p.inputEl),"no"!==p.buttons&&(p.buttonsEl=angular.element(a.buttonsTpl),p.submitEl=angular.element(a.submitTpl),p.resetEl=angular.element(a.resetTpl),p.cancelEl=angular.element(a.cancelTpl),p.submitEl.attr("title",h.submitButtonTitle),p.submitEl.attr("aria-label",h.submitButtonAriaLabel),p.cancelEl.attr("title",h.cancelButtonTitle),p.cancelEl.attr("aria-label",h.cancelButtonAriaLabel),p.resetEl.attr("title",h.clearButtonTitle),p.resetEl.attr("aria-label",h.clearButtonAriaLabel),p.icon_set&&(p.submitEl.find("span").addClass(p.icon_set.ok),p.cancelEl.find("span").addClass(p.icon_set.cancel),p.resetEl.find("span").addClass(p.icon_set.clear)),p.buttonsEl.append(p.submitEl).append(p.cancelEl),h.displayClearButton&&p.buttonsEl.append(p.resetEl),p.controlsEl.append(p.buttonsEl),p.inputEl.addClass("editable-has-buttons")),p.errorEl=angular.element(a.errorTpl),p.controlsEl.append(p.errorEl),p.editorEl=angular.element(p.single?a.formTpl:a.noformTpl),p.editorEl.append(p.controlsEl);for(var d in c.$attr)if(!(d.length<=1)){var e=!1,f=d.substring(1,2);if("e"===d.substring(0,1)&&f===f.toUpperCase()&&(e=d.substring(1),"Form"!==e&&"NgSubmit"!==e)){var g=e.substring(0,1),i=e.substring(1,2);e=i===i.toUpperCase()&&g===g.toUpperCase()?g.toLowerCase()+"-"+b.camelToDash(e.substring(1)):g.toLowerCase()+b.camelToDash(e.substring(1));var j="value"!==e&&""===c[d]?e:c[d];p.inputEl.attr(e,j)}}if(p.inputEl.addClass("editable-input"),p.inputEl.attr("ng-model","$parent.$data"),p.editorEl.addClass(b.camelToDash(p.directiveName)),p.single&&(p.editorEl.attr("editable-form","$form"),p.editorEl.attr("blur",p.attrs.blur||h.blurElem)),p.popover){var k=angular.element("
");k.append(p.editorEl),p.editorEl=k,m.put("popover.html",p.editorEl[0].outerHTML)}angular.isFunction(a.postrender)&&a.postrender.call(p)},p.setLocalValue=function(){p.scope.$data=p.useCopy?angular.copy(n(a.$parent)):n(a.$parent)};var s=null;p.show=function(){return p.setLocalValue(),p.render(),d.after(p.editorEl),s=a.$new(),j(p.editorEl)(s),p.addListeners(),d.addClass("editable-hide"),p.onshow()},p.hide=function(){return s.$destroy(),p.controlsEl.remove(),p.editorEl.remove(),d.removeClass("editable-hide"),p.popover&&m.remove("popover.html"),p.onhide()},p.cancel=function(){p.oncancel()},p.addListeners=function(){p.inputEl.bind("keyup",function(a){if(p.single)switch(a.keyCode){case 27:p.scope.$apply(function(){p.scope.$form.$cancel()})}}),p.single&&"no"===p.buttons&&p.autosubmit(),p.editorEl.bind("click",function(a){a.which&&1!==a.which||p.scope.$form.$visible&&(p.scope.$form._clicked=!0)})},p.setWaiting=function(a){a?(o=!p.inputEl.attr("disabled")&&!p.inputEl.attr("ng-disabled")&&!p.inputEl.attr("ng-enabled"),o&&(p.inputEl.attr("disabled","disabled"),p.buttonsEl&&p.buttonsEl.find("button").attr("disabled","disabled"))):o&&(p.inputEl.removeAttr("disabled"),p.buttonsEl&&p.buttonsEl.find("button").removeAttr("disabled"))},p.activate=function(a,b){setTimeout(function(){var c=p.inputEl[0];"focus"===h.activate&&c.focus?(void 0!==a&&""!==a&&c.setSelectionRange&&(b=b||a,c.onfocus=function(){setTimeout(function(){try{this.setSelectionRange(a,b)}catch(c){}}.bind(this))}),"editableRadiolist"==p.directiveName||"editableChecklist"==p.directiveName||"editableBsdate"==p.directiveName||"editableTagsInput"==p.directiveName?c.querySelector(".ng-pristine").focus():c.focus()):"select"===h.activate&&(c.select?c.select():c.focus&&c.focus())},0)},p.setError=function(b){angular.isObject(b)||(a.$error=l.trustAsHtml(b),p.error=b)},p.catchError=function(a,b){return angular.isObject(a)&&b!==!0?k.when(a).then(angular.bind(this,function(a){this.catchError(a,!0)}),angular.bind(this,function(a){this.catchError(a,!0)})):b&&angular.isObject(a)&&a.status&&200!==a.status&&a.data&&angular.isString(a.data)?(this.setError(a.data),a=a.data):angular.isString(a)&&this.setError(a),a},p.save=function(){n.assign(a.$parent,p.useCopy?angular.copy(p.scope.$data):p.scope.$data)},p.handleEmpty=function(){var b=n(a.$parent),c=null===b||void 0===b||""===b||angular.isArray(b)&&0===b.length;d.toggleClass("editable-empty",c)},p.autosubmit=angular.noop,p.onshow=angular.noop,p.onhide=angular.noop,p.oncancel=angular.noop,p.onbeforesave=angular.noop,p.onaftersave=angular.noop}return c.$inject=["$scope","$attrs","$element","$parse","editableThemes","editableIcons","editableOptions","$rootScope","$compile","$q","$sce","$templateCache"],c}]),angular.module("xeditable").factory("editableDirectiveFactory",["$parse","$compile","editableThemes","$rootScope","$document","editableController","editableFormController","editableOptions",function(a,b,c,d,e,f,g,h){return function(b){return{restrict:"A",scope:!0,require:[b.directiveName,"?^form"],controller:f,link:function(c,f,i,j){var k,l=j[0],m=!1;if(j[1])k=j[1],m=void 0===i.eSingle;else if(i.eForm){var n=a(i.eForm)(c);if(n)k=n,m=!0;else if(f&&"function"==typeof f.parents&&f.parents().last().find("form[name="+i.eForm+"]").length)k=null,m=!0;else for(var o=0;o=0&&a.splice(c,1),b},camelToDash:function(a){var b=/[A-Z]/g;return a.replace(b,function(a,b){return(b?"-":"")+a.toLowerCase()})},dashToCamel:function(a){var b=/([\:\-\_]+(.))/g,c=/^moz([A-Z])/;return a.replace(b,function(a,b,c,d){return d?c.toUpperCase():c}).replace(c,"Moz$1")},rename:function(a,b){if(b[0]&&b[0].attributes){var c=angular.element("<"+a+"/>");c.html(b.html());for(var d=b[0].attributes,e=0;e').html(this.getTemplate()),this.initCombos(),this.options.smartDays){var a=this;this.$widget.find("select").bind("change",function(b){(angular.element(b.target).hasClass("month")||angular.element(b.target).hasClass("year"))&&a.fillCombo("day")})}this.$widget.find("select").css("width","auto"),this.$element.css("display","none").after(this.$widget),this.setValue(this.$element.val()||this.options.value)},getTemplate:function(){var a=this.options.template,b=this.options.customClass;return angular.forEach(this.map,function(b,c){b=b[0];var d=new RegExp(b+"+"),e=b.length>1?b.substring(1,2):b;a=a.replace(d,"{"+e+"}")}),a=a.replace(/ /g," "),angular.forEach(this.map,function(c,d){c=c[0];var e=c.length>1?c.substring(1,2):c;a=a.replace("{"+e+"}",'')}),a},initCombos:function(){for(var a in this.map){var b=this.$widget[0].querySelectorAll("."+a);this["$"+a]=b.length?angular.element(b):null,this.fillCombo(a)}},fillCombo:function(a){var b=this["$"+a];if(b){var c="fill"+a.charAt(0).toUpperCase()+a.slice(1),d=this[c](),e=b.val();b.html("");for(var f=0;f'+d[f][1]+"");b.val(e)}},fillCommon:function(a){var b,c=[];if("name"===this.options.firstItem){b=moment.relativeTime||moment.langData()._relativeTime;var d="function"==typeof b[a]?b[a](1,!0,a,!1):b[a];d=d.split(" ").reverse()[0],c.push(["",d])}else"empty"===this.options.firstItem&&c.push(["",""]);return c},fillDay:function(){var a,b,c=this.fillCommon("d"),d=-1!==this.options.template.indexOf("DD"),e=31;if(this.options.smartDays&&this.$month&&this.$year){var f=parseInt(this.$month.val(),10),g=parseInt(this.$year.val(),10);isNaN(f)||isNaN(g)||(e=moment([g,f]).daysInMonth())}for(b=1;e>=b;b++)a=d?this.leadZero(b):b,c.push([b,a]);return c},fillMonth:function(){var a,b,c=this.fillCommon("M"),d=-1!==this.options.template.indexOf("MMMM"),e=-1!==this.options.template.indexOf("MMM"),f=-1!==this.options.template.indexOf("MM");for(b=0;11>=b;b++)a=d?moment().date(1).month(b).format("MMMM"):e?moment().date(1).month(b).format("MMM"):f?this.leadZero(b+1):b+1,c.push([b,a]);return c},fillYear:function(){var a,b,c=[],d=-1!==this.options.template.indexOf("YYYY");for(b=this.options.maxYear;b>=this.options.minYear;b--)a=d?b:(b+"").substring(2),c[this.options.yearDescending?"push":"unshift"]([b,a]);return c=this.fillCommon("y").concat(c)},fillHour:function(){var a,b,c=this.fillCommon("h"),d=-1!==this.options.template.indexOf("h"),e=(-1!==this.options.template.indexOf("H"),-1!==this.options.template.toLowerCase().indexOf("hh")),f=d?1:0,g=d?12:23;for(b=f;g>=b;b++)a=e?this.leadZero(b):b,c.push([b,a]);return c},fillMinute:function(){var a,b,c=this.fillCommon("m"),d=-1!==this.options.template.indexOf("mm");for(b=0;59>=b;b+=this.options.minuteStep)a=d?this.leadZero(b):b,c.push([b,a]);return c},fillSecond:function(){var a,b,c=this.fillCommon("s"),d=-1!==this.options.template.indexOf("ss");for(b=0;59>=b;b+=this.options.secondStep)a=d?this.leadZero(b):b,c.push([b,a]);return c},fillAmpm:function(){var a=-1!==this.options.template.indexOf("a"),b=(-1!==this.options.template.indexOf("A"),[["am",a?"am":"AM"],["pm",a?"pm":"PM"]]);return b},getValue:function(a){var b,c={},d=this,e=!1;return angular.forEach(this.map,function(a,b){if("ampm"!==b){var f="day"===b?1:0;return c[b]=d["$"+b]?parseInt(d["$"+b].val(),10):f,isNaN(c[b])?(e=!0,!1):void 0}}),e?"":(this.$ampm&&(12===c.hour?c.hour="am"===this.$ampm.val()?0:12:c.hour="am"===this.$ampm.val()?c.hour:c.hour+12),b=moment([c.year,c.month,c.day,c.hour,c.minute,c.second]),this.highlight(b),a=void 0===a?this.options.format:a,null===a?b.isValid()?b:null:b.isValid()?b.format(a):"")},setValue:function(a){function b(a,b){var c={};return angular.forEach(a.children("option"),function(a,d){var e=angular.element(a).attr("value");if(""!==e){var f=Math.abs(e-b);("undefined"==typeof c.distance||f=12?(e.ampm="pm",e.hour>12&&(e.hour-=12)):(e.ampm="am",0===e.hour&&(e.hour=12))),angular.forEach(e,function(a,c){d["$"+c]&&("minute"===c&&d.options.minuteStep>1&&d.options.roundTime&&(a=b(d["$"+c],a)),"second"===c&&d.options.secondStep>1&&d.options.roundTime&&(a=b(d["$"+c],a)),d["$"+c].val(a))}),this.options.smartDays&&this.fillCombo("day"),this.$element.val(c.format(this.options.format)).triggerHandler("change")); -}},highlight:function(a){a.isValid()?this.options.errorClass?this.$widget.removeClass(this.options.errorClass):this.$widget.find("select").css("border-color",this.borderColor):this.options.errorClass?this.$widget.addClass(this.options.errorClass):(this.borderColor||(this.borderColor=this.$widget.find("select").css("border-color")),this.$widget.find("select").css("border-color","red"))},leadZero:function(a){return 9>=a?"0"+a:a},destroy:function(){this.$widget.remove(),this.$element.removeData("combodate").show()}},{getInstance:function(b,c){return new a(b,c)}}}]),angular.module("xeditable").factory("editableIcons",function(){var a={"default":{bs2:{ok:"icon-ok icon-white",cancel:"icon-remove",clear:"icon-trash"},bs3:{ok:"glyphicon glyphicon-ok",cancel:"glyphicon glyphicon-remove",clear:"glyphicon glyphicon-trash"}},external:{"font-awesome":{ok:"fa fa-check",cancel:"fa fa-times",clear:"fa fa-trash"}}};return a}),angular.module("xeditable").factory("editableThemes",function(){var a={"default":{formTpl:'
',noformTpl:'',controlsTpl:'',inputTpl:"",errorTpl:'
',buttonsTpl:'',submitTpl:'',cancelTpl:'',resetTpl:''},bs2:{formTpl:'
',noformTpl:'',controlsTpl:'
',inputTpl:"",errorTpl:'
',buttonsTpl:'',submitTpl:'',cancelTpl:'',resetTpl:''},bs3:{formTpl:'
',noformTpl:'',controlsTpl:'
',inputTpl:"",errorTpl:'
',buttonsTpl:'',submitTpl:'',cancelTpl:'',resetTpl:'',buttonsClass:"",inputClass:"",postrender:function(){switch(this.directiveName){case"editableText":case"editableSelect":case"editableTextarea":case"editableEmail":case"editableTel":case"editableNumber":case"editableUrl":case"editableSearch":case"editableDate":case"editableDatetime":case"editableBsdate":case"editableTime":case"editableMonth":case"editableWeek":case"editablePassword":case"editableDatetimeLocal":if(this.inputEl.addClass("form-control"),this.theme.inputClass){if(this.inputEl.attr("multiple")&&("input-sm"===this.theme.inputClass||"input-lg"===this.theme.inputClass))break;this.inputEl.addClass(this.theme.inputClass)}break;case"editableCheckbox":this.editorEl.addClass("checkbox")}this.buttonsEl&&this.theme.buttonsClass&&this.buttonsEl.find("button").addClass(this.theme.buttonsClass)}},semantic:{formTpl:'
',noformTpl:'',controlsTpl:'
',inputTpl:"",errorTpl:'
',buttonsTpl:'',submitTpl:'',cancelTpl:'',resetTpl:''}};return a}); \ No newline at end of file +angular.module("xeditable",[]).value("editableOptions",{theme:"default",icon_set:"default",buttons:"right",blurElem:"cancel",blurForm:"ignore",activate:"focus",isDisabled:!1,activationEvent:"click",submitButtonTitle:"Submit",submitButtonAriaLabel:"Submit",cancelButtonTitle:"Cancel",cancelButtonAriaLabel:"Cancel",clearButtonTitle:"Clear",clearButtonAriaLabel:"Clear",displayClearButton:!1}),angular.module("xeditable").directive("editableBsdate",["editableDirectiveFactory","$injector","$parse",function(a,b,c){uibDatepickerConfig=b.get("uibDatepickerConfig"),uibDatepickerPopupConfig=b.get("uibDatepickerPopupConfig");var d=[["eIsOpen","is-open"],["eDateDisabled","date-disabled"],["eDatepickerPopup","uib-datepicker-popup"],["eShowButtonBar","show-button-bar"],["eCurrentText","current-text"],["eClearText","clear-text"],["eCloseText","close-text"],["eCloseOnDateSelection","close-on-date-selection"],["eDatepickerAppendToBody","datepicker-append-to-body"],["eOnOpenFocus","on-open-focus"],["eName","name"],["eDateDisabled","date-disabled"],["eAltInputFormats","alt-input-formats"]],e=[["eFormatDay","formatDay"],["eFormatMonth","formatMonth"],["eFormatYear","formatYear"],["eFormatDayHeader","formatDayHeader"],["eFormatDayTitle","formatDayTitle"],["eFormatMonthTitle","formatMonthTitle"],["eMaxMode","maxMode"],["eMinMode","minMode"],["eDatepickerMode","datepickerMode"]];return a({directiveName:"editableBsdate",inputTpl:"
",render:function(){this.parent.render.call(this);var a=this.attrs,b=this.scope,f=angular.element('');f.attr("uib-datepicker-popup",a.eDatepickerPopupXEditable||uibDatepickerPopupConfig.datepickerPopup),f.attr("year-range",a.eYearRange||20),f.attr("ng-readonly",a.eReadonly||!1);for(var g=d.length-1;g>=0;g--){var h=a[d[g][0]];"undefined"!=typeof h&&f.attr(d[g][1],h)}a.eNgChange&&(f.attr("ng-change",a.eNgChange),this.inputEl.removeAttr("ng-change")),a.eStyle&&(f.attr("style",a.eStyle),this.inputEl.removeAttr("style"));var i={maxDate:b.$eval(a.eMaxDate)||uibDatepickerConfig.maxDate,minDate:b.$eval(a.eMinDate)||uibDatepickerConfig.minDate,showWeeks:a.eShowWeeks?"true"===a.eShowWeeks.toLowerCase():uibDatepickerConfig.showWeeks,startingDay:a.eStartingDay||0,initDate:b.$eval(a.eInitDate)||new Date};if(a.eDatepickerOptions){var j=c(a.eDatepickerOptions)(b);angular.extend(i,j)}for(var k=e.length-1;k>=0;k--){var l=a[e[k][0]];"undefined"!=typeof l&&(i[e[k][1]]=l)}b.dateOptions=i;var m=angular.isDefined(a.eShowCalendarButton)?a.eShowCalendarButton:"true";if("true"===m){var n=angular.element(''),o=angular.element('');n.attr("ng-click",a.eNgClick),o.append(n),this.inputEl.append(o)}else f.attr("ng-click",a.eNgClick);f.attr("datepicker-options","dateOptions"),this.inputEl.prepend(f),this.inputEl.removeAttr("class"),this.inputEl.removeAttr("ng-click"),this.inputEl.removeAttr("is-open"),this.inputEl.removeAttr("init-date"),this.inputEl.removeAttr("datepicker-popup"),this.inputEl.removeAttr("required"),this.inputEl.removeAttr("ng-model"),this.inputEl.removeAttr("date-picker-append-to-body"),this.inputEl.removeAttr("name"),this.inputEl.attr("class","input-group")},autosubmit:function(){var a=this;a.inputEl.bind("change",function(){setTimeout(function(){a.scope.$apply(function(){a.scope.$form.$submit()})},500)}),a.inputEl.bind("keydown",function(b){9===b.keyCode&&"submit"===a.editorEl.attr("blur")&&a.scope.$apply(function(){a.scope.$form.$submit()})})}})}]),angular.module("xeditable").directive("editableBstime",["editableDirectiveFactory",function(a){return a({directiveName:"editableBstime",inputTpl:"
",render:function(){this.parent.render.call(this);var a=angular.element('
');a.attr("ng-model",this.inputEl.attr("ng-model")),this.inputEl.removeAttr("ng-model"),this.attrs.eNgChange&&(a.attr("ng-change",this.inputEl.attr("ng-change")),this.inputEl.removeAttr("ng-change")),this.inputEl.wrap(a)}})}]),angular.module("xeditable").directive("editableCheckbox",["editableDirectiveFactory",function(a){return a({directiveName:"editableCheckbox",inputTpl:'',render:function(){this.parent.render.call(this),this.inputEl.wrap(""),this.attrs.eTitle&&this.inputEl.parent().append(""+this.attrs.eTitle+"")},autosubmit:function(){var a=this;a.inputEl.bind("change",function(){setTimeout(function(){a.scope.$apply(function(){a.scope.$form.$submit()})},500)})}})}]),angular.module("xeditable").directive("editableChecklist",["editableDirectiveFactory","editableNgOptionsParser",function(a,b){return a({directiveName:"editableChecklist",inputTpl:"",useCopy:!0,render:function(){this.parent.render.call(this);var a=b(this.attrs.eNgOptions),c="",d="";this.attrs.eNgChange&&(c=' ng-change="'+this.attrs.eNgChange+'"'),this.attrs.eChecklistComparator&&(d=' checklist-comparator="'+this.attrs.eChecklistComparator+'"');var e='';this.inputEl.removeAttr("ng-model"),this.inputEl.removeAttr("ng-options"),this.inputEl.removeAttr("ng-change"),this.inputEl.removeAttr("checklist-comparator"),this.inputEl.html(e)}})}]),angular.module("xeditable").directive("editableCombodate",["editableDirectiveFactory","editableCombodate",function(a,b){return a({directiveName:"editableCombodate",inputTpl:'',render:function(){this.parent.render.call(this);var a={value:new Date(this.scope.$data)},c=this;angular.forEach(["format","template","minYear","maxYear","yearDescending","minuteStep","secondStep","firstItem","errorClass","customClass","roundTime","smartDays"],function(b){var d="e"+b.charAt(0).toUpperCase()+b.slice(1);d in c.attrs&&("minYear"==b||"maxYear"==b||"minuteStep"==b||"secondStep"==b?a[b]=parseInt(c.attrs[d],10):a[b]=c.attrs[d])});var d=b.getInstance(this.inputEl,a);d.$widget.find("select").bind("change",function(a){c.scope.$data=d.getValue()?new Date(d.getValue().replace(/-/g,"/")).toISOString():null}).change()}})}]),function(){var a=function(a){return a.toLowerCase().replace(/-(.)/g,function(a,b){return b.toUpperCase()})},b="text|password|email|tel|number|url|search|color|date|datetime|datetime-local|time|month|week|file".split("|");angular.forEach(b,function(b){var c=a("editable-"+b);angular.module("xeditable").directive(c,["editableDirectiveFactory",function(a){return a({directiveName:c,inputTpl:'',render:function(){if(this.parent.render.call(this),this.attrs.eInputgroupleft||this.attrs.eInputgroupright){if(this.inputEl.wrap('
'),this.attrs.eInputgroupleft){var a=angular.element(''+this.attrs.eInputgroupleft+"");this.inputEl.parent().prepend(a)}if(this.attrs.eInputgroupright){var b=angular.element(''+this.attrs.eInputgroupright+"");this.inputEl.parent().append(b)}}if(this.attrs.eLabel){var c=angular.element("");this.attrs.eInputgroupleft||this.attrs.eInputgroupright?this.inputEl.parent().parent().prepend(c):this.inputEl.parent().prepend(c)}this.attrs.eFormclass&&(this.editorEl.addClass(this.attrs.eFormclass),this.inputEl.removeAttr("formclass"))},autosubmit:function(){var a=this;a.inputEl.bind("keydown",function(b){9===b.keyCode&&"submit"===a.editorEl.attr("blur")&&a.scope.$apply(function(){a.scope.$form.$submit()})})}})}])}),angular.module("xeditable").directive("editableRange",["editableDirectiveFactory","$interpolate",function(a,b){return a({directiveName:"editableRange",inputTpl:'',render:function(){this.parent.render.call(this),this.inputEl.after(""+b.startSymbol()+"$data"+b.endSymbol()+"")}})}])}(),angular.module("xeditable").directive("editableTagsInput",["editableDirectiveFactory","editableUtils",function(a,b){var c=a({directiveName:"editableTagsInput",inputTpl:"",useCopy:!0,render:function(){this.parent.render.call(this),this.inputEl.append(b.rename("auto-complete",this.attrs.$autoCompleteElement)),this.inputEl.removeAttr("ng-model"),this.inputEl.attr("ng-model","$parent.$data")}}),d=c.link;return c.link=function(a,b,c,e){var f=b.find("editable-tags-input-auto-complete");return c.$autoCompleteElement=f.clone(),f.remove(),d(a,b,c,e)},c}]),angular.module("xeditable").directive("editableRadiolist",["editableDirectiveFactory","editableNgOptionsParser","$interpolate",function(a,b,c){return a({directiveName:"editableRadiolist",inputTpl:"",render:function(){this.parent.render.call(this);var a=b(this.attrs.eNgOptions),d="",e="";this.attrs.eNgChange&&(d=' ng-change="'+this.attrs.eNgChange+'"'),this.attrs.eName&&(e=' name="'+this.attrs.eName+'"');var f='';this.inputEl.removeAttr("ng-model"),this.inputEl.removeAttr("ng-options"),this.inputEl.removeAttr("ng-change"),this.inputEl.html(f)},autosubmit:function(){var a=this;a.inputEl.bind("change",function(){setTimeout(function(){a.scope.$apply(function(){a.scope.$form.$submit()})},500)})}})}]),angular.module("xeditable").directive("editableSelect",["editableDirectiveFactory",function(a){return a({directiveName:"editableSelect",inputTpl:"",render:function(){if(this.parent.render.call(this),this.attrs.ePlaceholder){var a=angular.element('");this.inputEl.append(a)}},autosubmit:function(){var a=this;a.attrs.hasOwnProperty("eMultiple")||a.inputEl.bind("change",function(){a.scope.$apply(function(){a.scope.$form.$submit()})})}})}]),angular.module("xeditable").directive("editableTextarea",["editableDirectiveFactory",function(a){return a({directiveName:"editableTextarea",inputTpl:"",render:function(){this.parent.render.call(this),this.attrs.eFormclass&&(this.editorEl.addClass(this.attrs.eFormclass),this.inputEl.removeAttr("formclass"))},addListeners:function(){var a=this;a.parent.addListeners.call(a),a.single&&"no"!==a.buttons&&a.autosubmit()},autosubmit:function(){var a=this;a.inputEl.bind("keydown",function(b){a.attrs.submitOnEnter?13!==b.keyCode||b.shiftKey||a.scope.$apply(function(){a.scope.$form.$submit()}):((b.ctrlKey||b.metaKey)&&13===b.keyCode||9===b.keyCode&&"submit"===a.editorEl.attr("blur"))&&a.scope.$apply(function(){a.scope.$form.$submit()})})}})}]),angular.module("xeditable").directive("editableUidate",["editableDirectiveFactory",function(a){return a({directiveName:"editableUidate",inputTpl:'',render:function(){this.parent.render.call(this),this.inputEl.attr("ui-date",this.attrs.eUiDate),this.inputEl.attr("placeholder",this.attrs.ePlaceholder)}})}]),angular.module("xeditable").directive("editableUiSelect",["editableDirectiveFactory","editableUtils",function(a,b){var c=a({directiveName:"editableUiSelect",inputTpl:"",render:function(){this.parent.render.call(this),this.inputEl.append(b.rename("ui-select-match",this.attrs.$matchElement)),this.inputEl.append(b.rename("ui-select-choices",this.attrs.$choicesElement)),this.inputEl.removeAttr("ng-model"),this.inputEl.attr("ng-model","$parent.$parent.$data")},autosubmit:function(){var a=this;a.inputEl.bind("change",function(){setTimeout(function(){a.scope.$apply(function(){a.scope.$form.$submit()})},500)}),a.inputEl.bind("keydown",function(b){9===b.keyCode&&"submit"===a.editorEl.attr("blur")&&a.scope.$apply(function(){a.scope.$form.$submit()})})}}),d=c.link;return c.link=function(a,b,c,e){var f=b.find("editable-ui-select-match"),g=b.find("editable-ui-select-choices");return c.$matchElement=f.clone(),c.$choicesElement=g.clone(),f.remove(),g.remove(),d(a,b,c,e)},c}]),angular.module("xeditable").factory("editableController",["$q","editableUtils",function(a,b){function c(a,c,d,e,f,g,h,i,j,k,l,m){var n,o,p=this;p.scope=a,p.elem=d,p.attrs=c,p.inputEl=null,p.editorEl=null,p.single=!0,p.error="",p.theme=f[c.editableTheme]||f[h.theme]||f["default"],p.parent={};var q=c.editableTheme||h.theme||"default",r=c.editableIconSet||h.icon_set;p.icon_set="default"===r?g["default"][q]:g.external[r],p.inputTpl="",p.directiveName="",p.useCopy=!1,p.single=null,p.buttons="right",p.popover=!1,p.init=function(b){if(p.single=b,p.name=c.eName||c[p.directiveName],!c[p.directiveName])throw"You should provide value for `"+p.directiveName+"` in editable element!";n=e(c[p.directiveName]),p.single?p.buttons=p.attrs.buttons||h.buttons:p.buttons="no",c.eName&&p.scope.$watch("$data",function(a){p.scope.$form.$data[c.eName]=a}),c.onshow&&(p.onshow=function(){return p.catchError(e(c.onshow)(a))}),c.onhide&&(p.onhide=function(){return e(c.onhide)(a)}),c.oncancel&&(p.oncancel=function(){return e(c.oncancel)(a)}),c.onbeforesave&&(p.onbeforesave=function(){return p.catchError(e(c.onbeforesave)(a))}),c.onaftersave&&(p.onaftersave=function(){return p.catchError(e(c.onaftersave)(a))}),c.popover&&(p.popover=p.attrs.popover),a.$parent.$watch(c[p.directiveName],function(a,b){p.setLocalValue(),p.handleEmpty()})},p.render=function(){var a=p.theme;p.inputEl=angular.element(p.inputTpl),p.controlsEl=angular.element(a.controlsTpl),p.controlsEl.append(p.inputEl),"no"!==p.buttons&&(p.buttonsEl=angular.element(a.buttonsTpl),p.submitEl=angular.element(a.submitTpl),p.resetEl=angular.element(a.resetTpl),p.cancelEl=angular.element(a.cancelTpl),p.submitEl.attr("title",h.submitButtonTitle),p.submitEl.attr("aria-label",h.submitButtonAriaLabel),p.cancelEl.attr("title",h.cancelButtonTitle),p.cancelEl.attr("aria-label",h.cancelButtonAriaLabel),p.resetEl.attr("title",h.clearButtonTitle),p.resetEl.attr("aria-label",h.clearButtonAriaLabel),p.icon_set&&(p.submitEl.find("span").addClass(p.icon_set.ok),p.cancelEl.find("span").addClass(p.icon_set.cancel),p.resetEl.find("span").addClass(p.icon_set.clear)),p.buttonsEl.append(p.submitEl).append(p.cancelEl),h.displayClearButton&&p.buttonsEl.append(p.resetEl),p.controlsEl.append(p.buttonsEl),p.inputEl.addClass("editable-has-buttons")),p.errorEl=angular.element(a.errorTpl),p.controlsEl.append(p.errorEl),p.editorEl=angular.element(p.single?a.formTpl:a.noformTpl),p.editorEl.append(p.controlsEl);for(var d in c.$attr)if(!(d.length<=1)){var e=!1,f=d.substring(1,2);if("e"===d.substring(0,1)&&f===f.toUpperCase()&&(e=d.substring(1),"Form"!==e&&"NgSubmit"!==e)){var g=e.substring(0,1),i=e.substring(1,2);e=i===i.toUpperCase()&&g===g.toUpperCase()?g.toLowerCase()+"-"+b.camelToDash(e.substring(1)):g.toLowerCase()+b.camelToDash(e.substring(1));var j="value"!==e&&""===c[d]?e:c[d];p.inputEl.attr(e,j)}}if(p.inputEl.addClass("editable-input"),p.inputEl.attr("ng-model","$parent.$data"),p.editorEl.addClass(b.camelToDash(p.directiveName)),p.single&&(p.editorEl.attr("editable-form","$form"),p.editorEl.attr("blur",p.attrs.blur||h.blurElem)),p.popover){var k=angular.element("
");k.append(p.editorEl),p.editorEl=k,m.put("popover.html",p.editorEl[0].outerHTML)}angular.isFunction(a.postrender)&&a.postrender.call(p)},p.setLocalValue=function(){p.scope.$data=p.useCopy?angular.copy(n(a.$parent)):n(a.$parent)};var s=null;p.show=function(){return p.setLocalValue(),p.render(),d.after(p.editorEl),s=a.$new(),j(p.editorEl)(s),p.addListeners(),d.addClass("editable-hide"),p.onshow()},p.hide=function(){return s.$destroy(),p.controlsEl.remove(),p.editorEl.remove(),d.removeClass("editable-hide"),p.popover&&m.remove("popover.html"),p.onhide()},p.cancel=function(){p.oncancel()},p.addListeners=function(){p.inputEl.bind("keyup",function(a){if(p.single)switch(a.keyCode){case 27:p.scope.$apply(function(){p.scope.$form.$cancel()})}}),p.single&&"no"===p.buttons&&p.autosubmit(),p.editorEl.bind("click",function(a){a.which&&1!==a.which||p.scope.$form.$visible&&(p.scope.$form._clicked=!0)})},p.setWaiting=function(a){a?(o=!p.inputEl.attr("disabled")&&!p.inputEl.attr("ng-disabled")&&!p.inputEl.attr("ng-enabled"),o&&(p.inputEl.attr("disabled","disabled"),p.buttonsEl&&p.buttonsEl.find("button").attr("disabled","disabled"))):o&&(p.inputEl.removeAttr("disabled"),p.buttonsEl&&p.buttonsEl.find("button").removeAttr("disabled"))},p.activate=function(a,b){setTimeout(function(){var c=p.inputEl[0];"focus"===h.activate&&c.focus?(void 0!==a&&""!==a&&c.setSelectionRange&&(b=b||a,c.onfocus=function(){setTimeout(function(){try{this.setSelectionRange(a,b)}catch(c){}}.bind(this))}),"editableRadiolist"==p.directiveName||"editableChecklist"==p.directiveName||"editableBsdate"==p.directiveName||"editableTagsInput"==p.directiveName?c.querySelector(".ng-pristine").focus():c.focus()):"select"===h.activate&&(c.select?c.select():c.focus&&c.focus())},0)},p.setError=function(b){angular.isObject(b)||(a.$error=l.trustAsHtml(b),p.error=b)},p.catchError=function(a,b){return angular.isObject(a)&&b!==!0?k.when(a).then(angular.bind(this,function(a){this.catchError(a,!0)}),angular.bind(this,function(a){this.catchError(a,!0)})):b&&angular.isObject(a)&&a.status&&200!==a.status&&a.data&&angular.isString(a.data)?(this.setError(a.data),a=a.data):angular.isString(a)&&this.setError(a),a},p.save=function(){n.assign(a.$parent,p.useCopy?angular.copy(p.scope.$data):p.scope.$data)},p.handleEmpty=function(){var b=n(a.$parent),c=null===b||void 0===b||""===b||angular.isArray(b)&&0===b.length;d.toggleClass("editable-empty",c)},p.autosubmit=angular.noop,p.onshow=angular.noop,p.onhide=angular.noop,p.oncancel=angular.noop,p.onbeforesave=angular.noop,p.onaftersave=angular.noop}return c.$inject=["$scope","$attrs","$element","$parse","editableThemes","editableIcons","editableOptions","$rootScope","$compile","$q","$sce","$templateCache"],c}]),angular.module("xeditable").factory("editableDirectiveFactory",["$parse","$compile","editableThemes","$rootScope","$document","editableController","editableFormController","editableOptions",function(a,b,c,d,e,f,g,h){return function(b){return{restrict:"A",scope:!0,require:[b.directiveName,"?^form"],controller:f,link:function(c,f,i,j){var k,l=j[0],m=!1;if(j[1])k=j[1],m=void 0===i.eSingle;else if(i.eForm){var n=a(i.eForm)(c);if(n)k=n,m=!0;else if(f&&"function"==typeof f.parents&&f.parents().last().find('form[name="'+i.eForm+'"]').length)k=null,m=!0;else for(var o=0;o=0&&a.splice(c,1),b},camelToDash:function(a){var b=/[A-Z]/g;return a.replace(b,function(a,b){return(b?"-":"")+a.toLowerCase()})},dashToCamel:function(a){var b=/([\:\-\_]+(.))/g,c=/^moz([A-Z])/;return a.replace(b,function(a,b,c,d){return d?c.toUpperCase():c}).replace(c,"Moz$1")},rename:function(a,b){if(b[0]&&b[0].attributes){var c=angular.element("<"+a+"/>");c.html(b.html());for(var d=b[0].attributes,e=0;e').html(this.getTemplate()),this.initCombos(),this.options.smartDays){var a=this;this.$widget.find("select").bind("change",function(b){(angular.element(b.target).hasClass("month")||angular.element(b.target).hasClass("year"))&&a.fillCombo("day")})}this.$widget.find("select").css("width","auto"),this.$element.css("display","none").after(this.$widget),this.setValue(this.$element.val()||this.options.value)},getTemplate:function(){var a=this.options.template,b=this.options.customClass;return angular.forEach(this.map,function(b,c){b=b[0];var d=new RegExp(b+"+"),e=b.length>1?b.substring(1,2):b;a=a.replace(d,"{"+e+"}")}),a=a.replace(/ /g," "),angular.forEach(this.map,function(c,d){c=c[0];var e=c.length>1?c.substring(1,2):c;a=a.replace("{"+e+"}",'')}),a},initCombos:function(){for(var a in this.map){var b=this.$widget[0].querySelectorAll("."+a);this["$"+a]=b.length?angular.element(b):null,this.fillCombo(a)}},fillCombo:function(a){var b=this["$"+a];if(b){var c="fill"+a.charAt(0).toUpperCase()+a.slice(1),d=this[c](),e=b.val();b.html("");for(var f=0;f'+d[f][1]+"");b.val(e)}},fillCommon:function(a){var b,c=[];if("name"===this.options.firstItem){b=moment.relativeTime||moment.langData()._relativeTime;var d="function"==typeof b[a]?b[a](1,!0,a,!1):b[a];d=d.split(" ").reverse()[0],c.push(["",d])}else"empty"===this.options.firstItem&&c.push(["",""]);return c},fillDay:function(){var a,b,c=this.fillCommon("d"),d=-1!==this.options.template.indexOf("DD"),e=31;if(this.options.smartDays&&this.$month&&this.$year){var f=parseInt(this.$month.val(),10),g=parseInt(this.$year.val(),10);isNaN(f)||isNaN(g)||(e=moment([g,f]).daysInMonth())}for(b=1;e>=b;b++)a=d?this.leadZero(b):b,c.push([b,a]);return c},fillMonth:function(){var a,b,c=this.fillCommon("M"),d=-1!==this.options.template.indexOf("MMMM"),e=-1!==this.options.template.indexOf("MMM"),f=-1!==this.options.template.indexOf("MM");for(b=0;11>=b;b++)a=d?moment().date(1).month(b).format("MMMM"):e?moment().date(1).month(b).format("MMM"):f?this.leadZero(b+1):b+1,c.push([b,a]);return c},fillYear:function(){var a,b,c=[],d=-1!==this.options.template.indexOf("YYYY");for(b=this.options.maxYear;b>=this.options.minYear;b--)a=d?b:(b+"").substring(2),c[this.options.yearDescending?"push":"unshift"]([b,a]);return c=this.fillCommon("y").concat(c)},fillHour:function(){var a,b,c=this.fillCommon("h"),d=-1!==this.options.template.indexOf("h"),e=(-1!==this.options.template.indexOf("H"),-1!==this.options.template.toLowerCase().indexOf("hh")),f=d?1:0,g=d?12:23;for(b=f;g>=b;b++)a=e?this.leadZero(b):b,c.push([b,a]);return c},fillMinute:function(){var a,b,c=this.fillCommon("m"),d=-1!==this.options.template.indexOf("mm");for(b=0;59>=b;b+=this.options.minuteStep)a=d?this.leadZero(b):b,c.push([b,a]);return c},fillSecond:function(){var a,b,c=this.fillCommon("s"),d=-1!==this.options.template.indexOf("ss");for(b=0;59>=b;b+=this.options.secondStep)a=d?this.leadZero(b):b,c.push([b,a]);return c},fillAmpm:function(){var a=-1!==this.options.template.indexOf("a"),b=(-1!==this.options.template.indexOf("A"),[["am",a?"am":"AM"],["pm",a?"pm":"PM"]]);return b},getValue:function(a){var b,c={},d=this,e=!1;return angular.forEach(this.map,function(a,b){if("ampm"!==b){var f="day"===b?1:0;return c[b]=d["$"+b]?parseInt(d["$"+b].val(),10):f,isNaN(c[b])?(e=!0,!1):void 0}}),e?"":(this.$ampm&&(12===c.hour?c.hour="am"===this.$ampm.val()?0:12:c.hour="am"===this.$ampm.val()?c.hour:c.hour+12),b=moment([c.year,c.month,c.day,c.hour,c.minute,c.second]),this.highlight(b),a=void 0===a?this.options.format:a,null===a?b.isValid()?b:null:b.isValid()?b.format(a):"")},setValue:function(a){function b(a,b){var c={};return angular.forEach(a.children("option"),function(a,d){var e=angular.element(a).attr("value");if(""!==e){var f=Math.abs(e-b);("undefined"==typeof c.distance||f=12?(e.ampm="pm",e.hour>12&&(e.hour-=12)):(e.ampm="am",0===e.hour&&(e.hour=12))),angular.forEach(e,function(a,c){d["$"+c]&&("minute"===c&&d.options.minuteStep>1&&d.options.roundTime&&(a=b(d["$"+c],a)), +"second"===c&&d.options.secondStep>1&&d.options.roundTime&&(a=b(d["$"+c],a)),d["$"+c].val(a))}),this.options.smartDays&&this.fillCombo("day"),this.$element.val(c.format(this.options.format)).triggerHandler("change"))}},highlight:function(a){a.isValid()?this.options.errorClass?this.$widget.removeClass(this.options.errorClass):this.$widget.find("select").css("border-color",this.borderColor):this.options.errorClass?this.$widget.addClass(this.options.errorClass):(this.borderColor||(this.borderColor=this.$widget.find("select").css("border-color")),this.$widget.find("select").css("border-color","red"))},leadZero:function(a){return 9>=a?"0"+a:a},destroy:function(){this.$widget.remove(),this.$element.removeData("combodate").show()}},{getInstance:function(b,c){return new a(b,c)}}}]),angular.module("xeditable").factory("editableIcons",function(){var a={"default":{bs2:{ok:"icon-ok icon-white",cancel:"icon-remove",clear:"icon-trash"},bs3:{ok:"glyphicon glyphicon-ok",cancel:"glyphicon glyphicon-remove",clear:"glyphicon glyphicon-trash"}},external:{"font-awesome":{ok:"fa fa-check",cancel:"fa fa-times",clear:"fa fa-trash"}}};return a}),angular.module("xeditable").factory("editableThemes",function(){var a={"default":{formTpl:'
',noformTpl:'',controlsTpl:'',inputTpl:"",errorTpl:'
',buttonsTpl:'',submitTpl:'',cancelTpl:'',resetTpl:''},bs2:{formTpl:'
',noformTpl:'',controlsTpl:'
',inputTpl:"",errorTpl:'
',buttonsTpl:'',submitTpl:'',cancelTpl:'',resetTpl:''},bs3:{formTpl:'
',noformTpl:'',controlsTpl:'
',inputTpl:"",errorTpl:'
',buttonsTpl:'',submitTpl:'',cancelTpl:'',resetTpl:'',buttonsClass:"",inputClass:"",postrender:function(){switch(this.directiveName){case"editableText":case"editableSelect":case"editableTextarea":case"editableEmail":case"editableTel":case"editableNumber":case"editableUrl":case"editableSearch":case"editableDate":case"editableDatetime":case"editableBsdate":case"editableTime":case"editableMonth":case"editableWeek":case"editablePassword":case"editableDatetimeLocal":if(this.inputEl.addClass("form-control"),this.theme.inputClass){if(this.inputEl.attr("multiple")&&("input-sm"===this.theme.inputClass||"input-lg"===this.theme.inputClass))break;this.inputEl.addClass(this.theme.inputClass)}break;case"editableCheckbox":this.editorEl.addClass("checkbox")}this.buttonsEl&&this.theme.buttonsClass&&this.buttonsEl.find("button").addClass(this.theme.buttonsClass)}},semantic:{formTpl:'
',noformTpl:'',controlsTpl:'
',inputTpl:"",errorTpl:'
',buttonsTpl:'',submitTpl:'',cancelTpl:'',resetTpl:''}};return a}); \ No newline at end of file diff --git a/index.html b/index.html index b772e227..6fd3213e 100644 --- a/index.html +++ b/index.html @@ -57,7 +57,7 @@
  • Home
  • GitHub
  • - +
    @@ -141,6 +141,7 @@
  • Disable editing
  • Editable Popover
  • Editable ui-bootstrap Popover
  • +
  • Single editable in a form
  • Submit @@ -228,7 +229,7 @@

    Get started

    <link href="https://netdna.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
  • -
  • Install angular-xeditable via bower or download latest zip +
  • Install angular-xeditable via bower or download latest zip
    bower install angular-xeditable 
  • Include angular-xeditable into your project @@ -240,9 +241,9 @@

    Get started

    var app = angular.module("app", ["xeditable"]);
  • Set theme in app.run: -
    app.run(function(editableOptions) {
    +              
    app.run(['editableOptions', function(editableOptions) {
       editableOptions.theme = 'bs3'; // bootstrap3 theme. Can be also 'bs2', 'default'
    -});
    +}]);
     
  • Markup element that should be editable @@ -1566,6 +1567,37 @@

    controller.js

    name: 'awesome user', location: 'location 1' }; +}); + +
    +

    Single editable in a form

    + +

    demo

    + +
    {{ debug["e-single"] | json }}
    +

    Add e-single attribute when you want a single item to be clickable inside of a form.
    It ignores the outer form.

    +

    + + +

    html

    +
    <div ng-controller="ESingleCtrl" id="ESingleCtrl">
    +  <form>
    +    <a href="#" editable-text="user.name" e-single>{{ user.name || 'empty' }}</a>
    +  </form>
    +</div>
    +

    controller.js

    +
    app.controller('ESingleCtrl', function($scope) {
    +  $scope.user = {
    +    name: 'awesome user'
    +  };  
     });
    @@ -2739,26 +2771,26 @@

    Themes

    To display a clear button, set the editableOptions.displayClearButton=true in app.run.

    To change the title and aria-label values of the submit/cancel/clear buttons, set the editableOptions properties:

    -
    app.run(function(editableOptions) {
    +          
    app.run(['editableOptions', function(editableOptions) {
       editableOptions.submitButtonTitle = 'Submit';
       editableOptions.submitButtonAriaLabel = 'Submit';
       editableOptions.cancelButtonTitle = 'Cancel';
       editableOptions.cancelButtonAriaLabel = 'Cancel';
       editableOptions.clearButtonTitle = 'Clear';
       editableOptions.clearButtonAriaLabel = 'Clear';
    -});
    +}]);
     

    Bootstrap 3

    Include Bootstrap 3 CSS

    <link href="https://netdna.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">

    Set theme in app.run:

    -
    app.run(function(editableOptions) {
    +          
    app.run(['editableOptions', function(editableOptions) {
       editableOptions.theme = 'bs3';
    -});
    +}]);
     

    To have smaller or bigger controls modify inputClass and buttonsClass properties of theme:

    -
    app.run(function(editableOptions, editableThemes) {
    +          
    app.run(['editableOptions', 'editableThemes', function(editableOptions, editableThemes) {
       editableThemes.bs3.inputClass = 'input-sm';
       editableThemes.bs3.buttonsClass = 'btn-sm';
       editableOptions.theme = 'bs3';
    @@ -2769,20 +2801,20 @@ 

    Bootstrap 2

    Include Bootstrap

    <link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet">

    Set theme in app.run:

    -
    app.run(function(editableOptions) {
    +          
    app.run(['editableOptions', function(editableOptions) {
       editableOptions.theme = 'bs2';
    -});
    +}]);
     

    Default

    No additional CSS required.
    You can customize theme in app.run by overwriting properties:

    -
    app.run(function(editableOptions, editableThemes) {
    +          
    app.run(['editableOptions', 'editableThemes', function(editableOptions, editableThemes)
       // set `default` theme
       editableOptions.theme = 'default';
       
       // overwrite submit button template
       editableThemes['default'].submitTpl = '<button type="submit">ok</button>';
    -});
    +}]);
     

    Available properties of each theme you can see in source themes.js

    To change appearance of editable links you should overwrite CSS:

    @@ -3022,10 +3054,10 @@

    Methods

    Methods are available when you set name attribut

    Reference: editable options

    Options

    Options are set in app.run

    -
    app.run(function(editableOptions) {
    +          
    app.run(['editableOptions', function(editableOptions) {
     editableOptions.theme = 'bs3';
     ...
    -});
    +}]);
     
    diff --git a/package.json b/package.json index 1418b553..bbd44727 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "angular-xeditable", "description": "Edit-in-place for angular.js", - "version": "0.8.0", + "version": "0.8.1", "homepage": "https://vitalets.github.io/angular-xeditable", "author": { "name": "Vitaliy Potapov", diff --git a/starter/angular-xeditable/css/xeditable.min.css b/starter/angular-xeditable/css/xeditable.min.css index b19ca268..451ca233 100644 --- a/starter/angular-xeditable/css/xeditable.min.css +++ b/starter/angular-xeditable/css/xeditable.min.css @@ -1,7 +1,7 @@ /*! -angular-xeditable - 0.8.0 +angular-xeditable - 0.8.1 Edit-in-place for angular.js -Build date: 2017-06-06 +Build date: 2017-11-14 */ .editable-wrap{display:inline-block;white-space:pre;margin:0}.editable-wrap .editable-controls,.editable-wrap .editable-error{margin-bottom:0}.editable-wrap .editable-controls>input,.editable-wrap .editable-controls>select,.editable-wrap .editable-controls>textarea{margin-bottom:0}.editable-wrap .editable-input{display:inline-block}.editable-buttons{display:inline-block;vertical-align:top}.editable-buttons button{margin-left:5px}.editable-input.editable-has-buttons{width:auto}.editable-text{white-space:nowrap}.editable-bsdate{white-space:nowrap}.editable-bstime{white-space:nowrap}.editable-bstime .editable-input input[type=text]{width:46px}.editable-bstime .well-small{margin-bottom:0;padding:10px}.editable-range output{display:inline-block;min-width:30px;vertical-align:top;text-align:center}.editable-color input[type=color]{width:50px}.editable-checkbox label span,.editable-checklist label span,.editable-radiolist label span{margin-left:7px;margin-right:10px}.editable-hide{display:none!important}.editable-click,a.editable-click{text-decoration:none;color:#428bca;border-bottom:dashed 1px #428bca}.editable-click:hover,a.editable-click:hover{text-decoration:none;color:#2a6496;border-bottom-color:#2a6496}.editable-empty,.editable-empty:hover,.editable-empty:focus,a.editable-empty,a.editable-empty:hover,a.editable-empty:focus{font-style:italic;color:#D14;text-decoration:none}.ui-popover-wrapper a{display:inline!important}.ui-popover-wrapper form{display:none!important}.popover-wrapper>a{display:inline!important}.popover-wrapper{display:inline;position:relative}.popover-wrapper form{position:absolute;top:-53px;background:#FFF;border:1px solid #AAA;border-radius:5px;padding:7px;width:auto;display:inline-block;left:50%;z-index:101}.popover-wrapper form:before{content:"";width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid #AAA;position:absolute;bottom:-10px}.popover-wrapper form:after{content:"";width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-top:9px solid #FFF;position:absolute;bottom:-9px}@media screen and (max-width:750px){.popover-wrapper form{margin-left:-60px}.popover-wrapper form:before{left:50px}.popover-wrapper form:after{left:51px}}@media screen and (min-width:750px){.popover-wrapper form{margin-left:-110px}.popover-wrapper form:before{left:100px}.popover-wrapper form:after{left:101px}} \ No newline at end of file diff --git a/starter/angular-xeditable/js/xeditable.js b/starter/angular-xeditable/js/xeditable.js index 435b2c34..ac59a742 100644 --- a/starter/angular-xeditable/js/xeditable.js +++ b/starter/angular-xeditable/js/xeditable.js @@ -1,7 +1,7 @@ /*! -angular-xeditable - 0.8.0 +angular-xeditable - 0.8.1 Edit-in-place for angular.js -Build date: 2017-06-06 +Build date: 2017-11-14 */ /** * Angular-xeditable module @@ -428,12 +428,11 @@ angular.module('xeditable').directive('editableCombodate', ['editableDirectiveFa //.replace is so this works in Safari self.scope.$data = combodate.getValue() ? (new Date(combodate.getValue().replace(/-/g, "/"))).toISOString() : null; - }); + }).change(); } }); } ]); - /* Input types: text|password|email|tel|number|url|search|color|date|datetime|datetime-local|time|month|week|file */ @@ -489,6 +488,7 @@ Input types: text|password|email|tel|number|url|search|color|date|datetime|datet // Add classes to the form if (this.attrs.eFormclass) { this.editorEl.addClass(this.attrs.eFormclass); + this.inputEl.removeAttr('formclass'); } }, autosubmit: function() { @@ -636,6 +636,15 @@ angular.module('xeditable').directive('editableTextarea', ['editableDirectiveFac return editableDirectiveFactory({ directiveName: 'editableTextarea', inputTpl: '', + render: function() { + this.parent.render.call(this); + + // Add classes to the form + if (this.attrs.eFormclass) { + this.editorEl.addClass(this.attrs.eFormclass); + this.inputEl.removeAttr('formclass'); + } + }, addListeners: function() { var self = this; self.parent.addListeners.call(self); @@ -1319,7 +1328,7 @@ function($parse, $compile, editableThemes, $rootScope, $document, editableContro if (getter) { // form exists in scope (above), e.g. editable column eFormCtrl = getter; hasForm = true; - } else if (elem && typeof elem.parents === "function" && elem.parents().last().find('form[name='+attrs.eForm+']').length) { // form exists below or not exist at all: check document.forms + } else if (elem && typeof elem.parents === "function" && elem.parents().last().find('form[name="'+attrs.eForm+'"]').length) { // form exists below or not exist at all: check document.forms // form is below and not processed yet eFormCtrl = null; hasForm = true; diff --git a/starter/angular-xeditable/js/xeditable.min.js b/starter/angular-xeditable/js/xeditable.min.js index 1c06f958..9ebe92b0 100644 --- a/starter/angular-xeditable/js/xeditable.min.js +++ b/starter/angular-xeditable/js/xeditable.min.js @@ -1,7 +1,7 @@ /*! -angular-xeditable - 0.8.0 +angular-xeditable - 0.8.1 Edit-in-place for angular.js -Build date: 2017-06-06 +Build date: 2017-11-14 */ -angular.module("xeditable",[]).value("editableOptions",{theme:"default",icon_set:"default",buttons:"right",blurElem:"cancel",blurForm:"ignore",activate:"focus",isDisabled:!1,activationEvent:"click",submitButtonTitle:"Submit",submitButtonAriaLabel:"Submit",cancelButtonTitle:"Cancel",cancelButtonAriaLabel:"Cancel",clearButtonTitle:"Clear",clearButtonAriaLabel:"Clear",displayClearButton:!1}),angular.module("xeditable").directive("editableBsdate",["editableDirectiveFactory","$injector","$parse",function(a,b,c){uibDatepickerConfig=b.get("uibDatepickerConfig"),uibDatepickerPopupConfig=b.get("uibDatepickerPopupConfig");var d=[["eIsOpen","is-open"],["eDateDisabled","date-disabled"],["eDatepickerPopup","uib-datepicker-popup"],["eShowButtonBar","show-button-bar"],["eCurrentText","current-text"],["eClearText","clear-text"],["eCloseText","close-text"],["eCloseOnDateSelection","close-on-date-selection"],["eDatepickerAppendToBody","datepicker-append-to-body"],["eOnOpenFocus","on-open-focus"],["eName","name"],["eDateDisabled","date-disabled"],["eAltInputFormats","alt-input-formats"]],e=[["eFormatDay","formatDay"],["eFormatMonth","formatMonth"],["eFormatYear","formatYear"],["eFormatDayHeader","formatDayHeader"],["eFormatDayTitle","formatDayTitle"],["eFormatMonthTitle","formatMonthTitle"],["eMaxMode","maxMode"],["eMinMode","minMode"],["eDatepickerMode","datepickerMode"]];return a({directiveName:"editableBsdate",inputTpl:"
    ",render:function(){this.parent.render.call(this);var a=this.attrs,b=this.scope,f=angular.element('');f.attr("uib-datepicker-popup",a.eDatepickerPopupXEditable||uibDatepickerPopupConfig.datepickerPopup),f.attr("year-range",a.eYearRange||20),f.attr("ng-readonly",a.eReadonly||!1);for(var g=d.length-1;g>=0;g--){var h=a[d[g][0]];"undefined"!=typeof h&&f.attr(d[g][1],h)}a.eNgChange&&(f.attr("ng-change",a.eNgChange),this.inputEl.removeAttr("ng-change")),a.eStyle&&(f.attr("style",a.eStyle),this.inputEl.removeAttr("style"));var i={maxDate:b.$eval(a.eMaxDate)||uibDatepickerConfig.maxDate,minDate:b.$eval(a.eMinDate)||uibDatepickerConfig.minDate,showWeeks:a.eShowWeeks?"true"===a.eShowWeeks.toLowerCase():uibDatepickerConfig.showWeeks,startingDay:a.eStartingDay||0,initDate:b.$eval(a.eInitDate)||new Date};if(a.eDatepickerOptions){var j=c(a.eDatepickerOptions)(b);angular.extend(i,j)}for(var k=e.length-1;k>=0;k--){var l=a[e[k][0]];"undefined"!=typeof l&&(i[e[k][1]]=l)}b.dateOptions=i;var m=angular.isDefined(a.eShowCalendarButton)?a.eShowCalendarButton:"true";if("true"===m){var n=angular.element(''),o=angular.element('');n.attr("ng-click",a.eNgClick),o.append(n),this.inputEl.append(o)}else f.attr("ng-click",a.eNgClick);f.attr("datepicker-options","dateOptions"),this.inputEl.prepend(f),this.inputEl.removeAttr("class"),this.inputEl.removeAttr("ng-click"),this.inputEl.removeAttr("is-open"),this.inputEl.removeAttr("init-date"),this.inputEl.removeAttr("datepicker-popup"),this.inputEl.removeAttr("required"),this.inputEl.removeAttr("ng-model"),this.inputEl.removeAttr("date-picker-append-to-body"),this.inputEl.removeAttr("name"),this.inputEl.attr("class","input-group")},autosubmit:function(){var a=this;a.inputEl.bind("change",function(){setTimeout(function(){a.scope.$apply(function(){a.scope.$form.$submit()})},500)}),a.inputEl.bind("keydown",function(b){9===b.keyCode&&"submit"===a.editorEl.attr("blur")&&a.scope.$apply(function(){a.scope.$form.$submit()})})}})}]),angular.module("xeditable").directive("editableBstime",["editableDirectiveFactory",function(a){return a({directiveName:"editableBstime",inputTpl:"
    ",render:function(){this.parent.render.call(this);var a=angular.element('
    ');a.attr("ng-model",this.inputEl.attr("ng-model")),this.inputEl.removeAttr("ng-model"),this.attrs.eNgChange&&(a.attr("ng-change",this.inputEl.attr("ng-change")),this.inputEl.removeAttr("ng-change")),this.inputEl.wrap(a)}})}]),angular.module("xeditable").directive("editableCheckbox",["editableDirectiveFactory",function(a){return a({directiveName:"editableCheckbox",inputTpl:'',render:function(){this.parent.render.call(this),this.inputEl.wrap(""),this.attrs.eTitle&&this.inputEl.parent().append(""+this.attrs.eTitle+"")},autosubmit:function(){var a=this;a.inputEl.bind("change",function(){setTimeout(function(){a.scope.$apply(function(){a.scope.$form.$submit()})},500)})}})}]),angular.module("xeditable").directive("editableChecklist",["editableDirectiveFactory","editableNgOptionsParser",function(a,b){return a({directiveName:"editableChecklist",inputTpl:"",useCopy:!0,render:function(){this.parent.render.call(this);var a=b(this.attrs.eNgOptions),c="",d="";this.attrs.eNgChange&&(c=' ng-change="'+this.attrs.eNgChange+'"'),this.attrs.eChecklistComparator&&(d=' checklist-comparator="'+this.attrs.eChecklistComparator+'"');var e='';this.inputEl.removeAttr("ng-model"),this.inputEl.removeAttr("ng-options"),this.inputEl.removeAttr("ng-change"),this.inputEl.removeAttr("checklist-comparator"),this.inputEl.html(e)}})}]),angular.module("xeditable").directive("editableCombodate",["editableDirectiveFactory","editableCombodate",function(a,b){return a({directiveName:"editableCombodate",inputTpl:'',render:function(){this.parent.render.call(this);var a={value:new Date(this.scope.$data)},c=this;angular.forEach(["format","template","minYear","maxYear","yearDescending","minuteStep","secondStep","firstItem","errorClass","customClass","roundTime","smartDays"],function(b){var d="e"+b.charAt(0).toUpperCase()+b.slice(1);d in c.attrs&&("minYear"==b||"maxYear"==b||"minuteStep"==b||"secondStep"==b?a[b]=parseInt(c.attrs[d],10):a[b]=c.attrs[d])});var d=b.getInstance(this.inputEl,a);d.$widget.find("select").bind("change",function(a){c.scope.$data=d.getValue()?new Date(d.getValue().replace(/-/g,"/")).toISOString():null})}})}]),function(){var a=function(a){return a.toLowerCase().replace(/-(.)/g,function(a,b){return b.toUpperCase()})},b="text|password|email|tel|number|url|search|color|date|datetime|datetime-local|time|month|week|file".split("|");angular.forEach(b,function(b){var c=a("editable-"+b);angular.module("xeditable").directive(c,["editableDirectiveFactory",function(a){return a({directiveName:c,inputTpl:'',render:function(){if(this.parent.render.call(this),this.attrs.eInputgroupleft||this.attrs.eInputgroupright){if(this.inputEl.wrap('
    '),this.attrs.eInputgroupleft){var a=angular.element(''+this.attrs.eInputgroupleft+"");this.inputEl.parent().prepend(a)}if(this.attrs.eInputgroupright){var b=angular.element(''+this.attrs.eInputgroupright+"");this.inputEl.parent().append(b)}}if(this.attrs.eLabel){var c=angular.element("");this.attrs.eInputgroupleft||this.attrs.eInputgroupright?this.inputEl.parent().parent().prepend(c):this.inputEl.parent().prepend(c)}this.attrs.eFormclass&&this.editorEl.addClass(this.attrs.eFormclass)},autosubmit:function(){var a=this;a.inputEl.bind("keydown",function(b){9===b.keyCode&&"submit"===a.editorEl.attr("blur")&&a.scope.$apply(function(){a.scope.$form.$submit()})})}})}])}),angular.module("xeditable").directive("editableRange",["editableDirectiveFactory","$interpolate",function(a,b){return a({directiveName:"editableRange",inputTpl:'',render:function(){this.parent.render.call(this),this.inputEl.after(""+b.startSymbol()+"$data"+b.endSymbol()+"")}})}])}(),angular.module("xeditable").directive("editableTagsInput",["editableDirectiveFactory","editableUtils",function(a,b){var c=a({directiveName:"editableTagsInput",inputTpl:"",useCopy:!0,render:function(){this.parent.render.call(this),this.inputEl.append(b.rename("auto-complete",this.attrs.$autoCompleteElement)),this.inputEl.removeAttr("ng-model"),this.inputEl.attr("ng-model","$parent.$data")}}),d=c.link;return c.link=function(a,b,c,e){var f=b.find("editable-tags-input-auto-complete");return c.$autoCompleteElement=f.clone(),f.remove(),d(a,b,c,e)},c}]),angular.module("xeditable").directive("editableRadiolist",["editableDirectiveFactory","editableNgOptionsParser","$interpolate",function(a,b,c){return a({directiveName:"editableRadiolist",inputTpl:"",render:function(){this.parent.render.call(this);var a=b(this.attrs.eNgOptions),d="",e="";this.attrs.eNgChange&&(d=' ng-change="'+this.attrs.eNgChange+'"'),this.attrs.eName&&(e=' name="'+this.attrs.eName+'"');var f='';this.inputEl.removeAttr("ng-model"),this.inputEl.removeAttr("ng-options"),this.inputEl.removeAttr("ng-change"),this.inputEl.html(f)},autosubmit:function(){var a=this;a.inputEl.bind("change",function(){setTimeout(function(){a.scope.$apply(function(){a.scope.$form.$submit()})},500)})}})}]),angular.module("xeditable").directive("editableSelect",["editableDirectiveFactory",function(a){return a({directiveName:"editableSelect",inputTpl:"",render:function(){if(this.parent.render.call(this),this.attrs.ePlaceholder){var a=angular.element('");this.inputEl.append(a)}},autosubmit:function(){var a=this;a.attrs.hasOwnProperty("eMultiple")||a.inputEl.bind("change",function(){a.scope.$apply(function(){a.scope.$form.$submit()})})}})}]),angular.module("xeditable").directive("editableTextarea",["editableDirectiveFactory",function(a){return a({directiveName:"editableTextarea",inputTpl:"",addListeners:function(){var a=this;a.parent.addListeners.call(a),a.single&&"no"!==a.buttons&&a.autosubmit()},autosubmit:function(){var a=this;a.inputEl.bind("keydown",function(b){a.attrs.submitOnEnter?13!==b.keyCode||b.shiftKey||a.scope.$apply(function(){a.scope.$form.$submit()}):((b.ctrlKey||b.metaKey)&&13===b.keyCode||9===b.keyCode&&"submit"===a.editorEl.attr("blur"))&&a.scope.$apply(function(){a.scope.$form.$submit()})})}})}]),angular.module("xeditable").directive("editableUidate",["editableDirectiveFactory",function(a){return a({directiveName:"editableUidate",inputTpl:'',render:function(){this.parent.render.call(this),this.inputEl.attr("ui-date",this.attrs.eUiDate),this.inputEl.attr("placeholder",this.attrs.ePlaceholder)}})}]),angular.module("xeditable").directive("editableUiSelect",["editableDirectiveFactory","editableUtils",function(a,b){var c=a({directiveName:"editableUiSelect",inputTpl:"",render:function(){this.parent.render.call(this),this.inputEl.append(b.rename("ui-select-match",this.attrs.$matchElement)),this.inputEl.append(b.rename("ui-select-choices",this.attrs.$choicesElement)),this.inputEl.removeAttr("ng-model"),this.inputEl.attr("ng-model","$parent.$parent.$data")},autosubmit:function(){var a=this;a.inputEl.bind("change",function(){setTimeout(function(){a.scope.$apply(function(){a.scope.$form.$submit()})},500)}),a.inputEl.bind("keydown",function(b){9===b.keyCode&&"submit"===a.editorEl.attr("blur")&&a.scope.$apply(function(){a.scope.$form.$submit()})})}}),d=c.link;return c.link=function(a,b,c,e){var f=b.find("editable-ui-select-match"),g=b.find("editable-ui-select-choices");return c.$matchElement=f.clone(),c.$choicesElement=g.clone(),f.remove(),g.remove(),d(a,b,c,e)},c}]),angular.module("xeditable").factory("editableController",["$q","editableUtils",function(a,b){function c(a,c,d,e,f,g,h,i,j,k,l,m){var n,o,p=this;p.scope=a,p.elem=d,p.attrs=c,p.inputEl=null,p.editorEl=null,p.single=!0,p.error="",p.theme=f[c.editableTheme]||f[h.theme]||f["default"],p.parent={};var q=c.editableTheme||h.theme||"default",r=c.editableIconSet||h.icon_set;p.icon_set="default"===r?g["default"][q]:g.external[r],p.inputTpl="",p.directiveName="",p.useCopy=!1,p.single=null,p.buttons="right",p.popover=!1,p.init=function(b){if(p.single=b,p.name=c.eName||c[p.directiveName],!c[p.directiveName])throw"You should provide value for `"+p.directiveName+"` in editable element!";n=e(c[p.directiveName]),p.single?p.buttons=p.attrs.buttons||h.buttons:p.buttons="no",c.eName&&p.scope.$watch("$data",function(a){p.scope.$form.$data[c.eName]=a}),c.onshow&&(p.onshow=function(){return p.catchError(e(c.onshow)(a))}),c.onhide&&(p.onhide=function(){return e(c.onhide)(a)}),c.oncancel&&(p.oncancel=function(){return e(c.oncancel)(a)}),c.onbeforesave&&(p.onbeforesave=function(){return p.catchError(e(c.onbeforesave)(a))}),c.onaftersave&&(p.onaftersave=function(){return p.catchError(e(c.onaftersave)(a))}),c.popover&&(p.popover=p.attrs.popover),a.$parent.$watch(c[p.directiveName],function(a,b){p.setLocalValue(),p.handleEmpty()})},p.render=function(){var a=p.theme;p.inputEl=angular.element(p.inputTpl),p.controlsEl=angular.element(a.controlsTpl),p.controlsEl.append(p.inputEl),"no"!==p.buttons&&(p.buttonsEl=angular.element(a.buttonsTpl),p.submitEl=angular.element(a.submitTpl),p.resetEl=angular.element(a.resetTpl),p.cancelEl=angular.element(a.cancelTpl),p.submitEl.attr("title",h.submitButtonTitle),p.submitEl.attr("aria-label",h.submitButtonAriaLabel),p.cancelEl.attr("title",h.cancelButtonTitle),p.cancelEl.attr("aria-label",h.cancelButtonAriaLabel),p.resetEl.attr("title",h.clearButtonTitle),p.resetEl.attr("aria-label",h.clearButtonAriaLabel),p.icon_set&&(p.submitEl.find("span").addClass(p.icon_set.ok),p.cancelEl.find("span").addClass(p.icon_set.cancel),p.resetEl.find("span").addClass(p.icon_set.clear)),p.buttonsEl.append(p.submitEl).append(p.cancelEl),h.displayClearButton&&p.buttonsEl.append(p.resetEl),p.controlsEl.append(p.buttonsEl),p.inputEl.addClass("editable-has-buttons")),p.errorEl=angular.element(a.errorTpl),p.controlsEl.append(p.errorEl),p.editorEl=angular.element(p.single?a.formTpl:a.noformTpl),p.editorEl.append(p.controlsEl);for(var d in c.$attr)if(!(d.length<=1)){var e=!1,f=d.substring(1,2);if("e"===d.substring(0,1)&&f===f.toUpperCase()&&(e=d.substring(1),"Form"!==e&&"NgSubmit"!==e)){var g=e.substring(0,1),i=e.substring(1,2);e=i===i.toUpperCase()&&g===g.toUpperCase()?g.toLowerCase()+"-"+b.camelToDash(e.substring(1)):g.toLowerCase()+b.camelToDash(e.substring(1));var j="value"!==e&&""===c[d]?e:c[d];p.inputEl.attr(e,j)}}if(p.inputEl.addClass("editable-input"),p.inputEl.attr("ng-model","$parent.$data"),p.editorEl.addClass(b.camelToDash(p.directiveName)),p.single&&(p.editorEl.attr("editable-form","$form"),p.editorEl.attr("blur",p.attrs.blur||h.blurElem)),p.popover){var k=angular.element("
    ");k.append(p.editorEl),p.editorEl=k,m.put("popover.html",p.editorEl[0].outerHTML)}angular.isFunction(a.postrender)&&a.postrender.call(p)},p.setLocalValue=function(){p.scope.$data=p.useCopy?angular.copy(n(a.$parent)):n(a.$parent)};var s=null;p.show=function(){return p.setLocalValue(),p.render(),d.after(p.editorEl),s=a.$new(),j(p.editorEl)(s),p.addListeners(),d.addClass("editable-hide"),p.onshow()},p.hide=function(){return s.$destroy(),p.controlsEl.remove(),p.editorEl.remove(),d.removeClass("editable-hide"),p.popover&&m.remove("popover.html"),p.onhide()},p.cancel=function(){p.oncancel()},p.addListeners=function(){p.inputEl.bind("keyup",function(a){if(p.single)switch(a.keyCode){case 27:p.scope.$apply(function(){p.scope.$form.$cancel()})}}),p.single&&"no"===p.buttons&&p.autosubmit(),p.editorEl.bind("click",function(a){a.which&&1!==a.which||p.scope.$form.$visible&&(p.scope.$form._clicked=!0)})},p.setWaiting=function(a){a?(o=!p.inputEl.attr("disabled")&&!p.inputEl.attr("ng-disabled")&&!p.inputEl.attr("ng-enabled"),o&&(p.inputEl.attr("disabled","disabled"),p.buttonsEl&&p.buttonsEl.find("button").attr("disabled","disabled"))):o&&(p.inputEl.removeAttr("disabled"),p.buttonsEl&&p.buttonsEl.find("button").removeAttr("disabled"))},p.activate=function(a,b){setTimeout(function(){var c=p.inputEl[0];"focus"===h.activate&&c.focus?(void 0!==a&&""!==a&&c.setSelectionRange&&(b=b||a,c.onfocus=function(){setTimeout(function(){try{this.setSelectionRange(a,b)}catch(c){}}.bind(this))}),"editableRadiolist"==p.directiveName||"editableChecklist"==p.directiveName||"editableBsdate"==p.directiveName||"editableTagsInput"==p.directiveName?c.querySelector(".ng-pristine").focus():c.focus()):"select"===h.activate&&(c.select?c.select():c.focus&&c.focus())},0)},p.setError=function(b){angular.isObject(b)||(a.$error=l.trustAsHtml(b),p.error=b)},p.catchError=function(a,b){return angular.isObject(a)&&b!==!0?k.when(a).then(angular.bind(this,function(a){this.catchError(a,!0)}),angular.bind(this,function(a){this.catchError(a,!0)})):b&&angular.isObject(a)&&a.status&&200!==a.status&&a.data&&angular.isString(a.data)?(this.setError(a.data),a=a.data):angular.isString(a)&&this.setError(a),a},p.save=function(){n.assign(a.$parent,p.useCopy?angular.copy(p.scope.$data):p.scope.$data)},p.handleEmpty=function(){var b=n(a.$parent),c=null===b||void 0===b||""===b||angular.isArray(b)&&0===b.length;d.toggleClass("editable-empty",c)},p.autosubmit=angular.noop,p.onshow=angular.noop,p.onhide=angular.noop,p.oncancel=angular.noop,p.onbeforesave=angular.noop,p.onaftersave=angular.noop}return c.$inject=["$scope","$attrs","$element","$parse","editableThemes","editableIcons","editableOptions","$rootScope","$compile","$q","$sce","$templateCache"],c}]),angular.module("xeditable").factory("editableDirectiveFactory",["$parse","$compile","editableThemes","$rootScope","$document","editableController","editableFormController","editableOptions",function(a,b,c,d,e,f,g,h){return function(b){return{restrict:"A",scope:!0,require:[b.directiveName,"?^form"],controller:f,link:function(c,f,i,j){var k,l=j[0],m=!1;if(j[1])k=j[1],m=void 0===i.eSingle;else if(i.eForm){var n=a(i.eForm)(c);if(n)k=n,m=!0;else if(f&&"function"==typeof f.parents&&f.parents().last().find("form[name="+i.eForm+"]").length)k=null,m=!0;else for(var o=0;o=0&&a.splice(c,1),b},camelToDash:function(a){var b=/[A-Z]/g;return a.replace(b,function(a,b){return(b?"-":"")+a.toLowerCase()})},dashToCamel:function(a){var b=/([\:\-\_]+(.))/g,c=/^moz([A-Z])/;return a.replace(b,function(a,b,c,d){return d?c.toUpperCase():c}).replace(c,"Moz$1")},rename:function(a,b){if(b[0]&&b[0].attributes){var c=angular.element("<"+a+"/>");c.html(b.html());for(var d=b[0].attributes,e=0;e').html(this.getTemplate()),this.initCombos(),this.options.smartDays){var a=this;this.$widget.find("select").bind("change",function(b){(angular.element(b.target).hasClass("month")||angular.element(b.target).hasClass("year"))&&a.fillCombo("day")})}this.$widget.find("select").css("width","auto"),this.$element.css("display","none").after(this.$widget),this.setValue(this.$element.val()||this.options.value)},getTemplate:function(){var a=this.options.template,b=this.options.customClass;return angular.forEach(this.map,function(b,c){b=b[0];var d=new RegExp(b+"+"),e=b.length>1?b.substring(1,2):b;a=a.replace(d,"{"+e+"}")}),a=a.replace(/ /g," "),angular.forEach(this.map,function(c,d){c=c[0];var e=c.length>1?c.substring(1,2):c;a=a.replace("{"+e+"}",'')}),a},initCombos:function(){for(var a in this.map){var b=this.$widget[0].querySelectorAll("."+a);this["$"+a]=b.length?angular.element(b):null,this.fillCombo(a)}},fillCombo:function(a){var b=this["$"+a];if(b){var c="fill"+a.charAt(0).toUpperCase()+a.slice(1),d=this[c](),e=b.val();b.html("");for(var f=0;f'+d[f][1]+"");b.val(e)}},fillCommon:function(a){var b,c=[];if("name"===this.options.firstItem){b=moment.relativeTime||moment.langData()._relativeTime;var d="function"==typeof b[a]?b[a](1,!0,a,!1):b[a];d=d.split(" ").reverse()[0],c.push(["",d])}else"empty"===this.options.firstItem&&c.push(["",""]);return c},fillDay:function(){var a,b,c=this.fillCommon("d"),d=-1!==this.options.template.indexOf("DD"),e=31;if(this.options.smartDays&&this.$month&&this.$year){var f=parseInt(this.$month.val(),10),g=parseInt(this.$year.val(),10);isNaN(f)||isNaN(g)||(e=moment([g,f]).daysInMonth())}for(b=1;e>=b;b++)a=d?this.leadZero(b):b,c.push([b,a]);return c},fillMonth:function(){var a,b,c=this.fillCommon("M"),d=-1!==this.options.template.indexOf("MMMM"),e=-1!==this.options.template.indexOf("MMM"),f=-1!==this.options.template.indexOf("MM");for(b=0;11>=b;b++)a=d?moment().date(1).month(b).format("MMMM"):e?moment().date(1).month(b).format("MMM"):f?this.leadZero(b+1):b+1,c.push([b,a]);return c},fillYear:function(){var a,b,c=[],d=-1!==this.options.template.indexOf("YYYY");for(b=this.options.maxYear;b>=this.options.minYear;b--)a=d?b:(b+"").substring(2),c[this.options.yearDescending?"push":"unshift"]([b,a]);return c=this.fillCommon("y").concat(c)},fillHour:function(){var a,b,c=this.fillCommon("h"),d=-1!==this.options.template.indexOf("h"),e=(-1!==this.options.template.indexOf("H"),-1!==this.options.template.toLowerCase().indexOf("hh")),f=d?1:0,g=d?12:23;for(b=f;g>=b;b++)a=e?this.leadZero(b):b,c.push([b,a]);return c},fillMinute:function(){var a,b,c=this.fillCommon("m"),d=-1!==this.options.template.indexOf("mm");for(b=0;59>=b;b+=this.options.minuteStep)a=d?this.leadZero(b):b,c.push([b,a]);return c},fillSecond:function(){var a,b,c=this.fillCommon("s"),d=-1!==this.options.template.indexOf("ss");for(b=0;59>=b;b+=this.options.secondStep)a=d?this.leadZero(b):b,c.push([b,a]);return c},fillAmpm:function(){var a=-1!==this.options.template.indexOf("a"),b=(-1!==this.options.template.indexOf("A"),[["am",a?"am":"AM"],["pm",a?"pm":"PM"]]);return b},getValue:function(a){var b,c={},d=this,e=!1;return angular.forEach(this.map,function(a,b){if("ampm"!==b){var f="day"===b?1:0;return c[b]=d["$"+b]?parseInt(d["$"+b].val(),10):f,isNaN(c[b])?(e=!0,!1):void 0}}),e?"":(this.$ampm&&(12===c.hour?c.hour="am"===this.$ampm.val()?0:12:c.hour="am"===this.$ampm.val()?c.hour:c.hour+12),b=moment([c.year,c.month,c.day,c.hour,c.minute,c.second]),this.highlight(b),a=void 0===a?this.options.format:a,null===a?b.isValid()?b:null:b.isValid()?b.format(a):"")},setValue:function(a){function b(a,b){var c={};return angular.forEach(a.children("option"),function(a,d){var e=angular.element(a).attr("value");if(""!==e){var f=Math.abs(e-b);("undefined"==typeof c.distance||f=12?(e.ampm="pm",e.hour>12&&(e.hour-=12)):(e.ampm="am",0===e.hour&&(e.hour=12))),angular.forEach(e,function(a,c){d["$"+c]&&("minute"===c&&d.options.minuteStep>1&&d.options.roundTime&&(a=b(d["$"+c],a)),"second"===c&&d.options.secondStep>1&&d.options.roundTime&&(a=b(d["$"+c],a)),d["$"+c].val(a))}),this.options.smartDays&&this.fillCombo("day"),this.$element.val(c.format(this.options.format)).triggerHandler("change")); -}},highlight:function(a){a.isValid()?this.options.errorClass?this.$widget.removeClass(this.options.errorClass):this.$widget.find("select").css("border-color",this.borderColor):this.options.errorClass?this.$widget.addClass(this.options.errorClass):(this.borderColor||(this.borderColor=this.$widget.find("select").css("border-color")),this.$widget.find("select").css("border-color","red"))},leadZero:function(a){return 9>=a?"0"+a:a},destroy:function(){this.$widget.remove(),this.$element.removeData("combodate").show()}},{getInstance:function(b,c){return new a(b,c)}}}]),angular.module("xeditable").factory("editableIcons",function(){var a={"default":{bs2:{ok:"icon-ok icon-white",cancel:"icon-remove",clear:"icon-trash"},bs3:{ok:"glyphicon glyphicon-ok",cancel:"glyphicon glyphicon-remove",clear:"glyphicon glyphicon-trash"}},external:{"font-awesome":{ok:"fa fa-check",cancel:"fa fa-times",clear:"fa fa-trash"}}};return a}),angular.module("xeditable").factory("editableThemes",function(){var a={"default":{formTpl:'
    ',noformTpl:'',controlsTpl:'',inputTpl:"",errorTpl:'
    ',buttonsTpl:'',submitTpl:'',cancelTpl:'',resetTpl:''},bs2:{formTpl:'
    ',noformTpl:'',controlsTpl:'
    ',inputTpl:"",errorTpl:'
    ',buttonsTpl:'',submitTpl:'',cancelTpl:'',resetTpl:''},bs3:{formTpl:'
    ',noformTpl:'',controlsTpl:'
    ',inputTpl:"",errorTpl:'
    ',buttonsTpl:'',submitTpl:'',cancelTpl:'',resetTpl:'',buttonsClass:"",inputClass:"",postrender:function(){switch(this.directiveName){case"editableText":case"editableSelect":case"editableTextarea":case"editableEmail":case"editableTel":case"editableNumber":case"editableUrl":case"editableSearch":case"editableDate":case"editableDatetime":case"editableBsdate":case"editableTime":case"editableMonth":case"editableWeek":case"editablePassword":case"editableDatetimeLocal":if(this.inputEl.addClass("form-control"),this.theme.inputClass){if(this.inputEl.attr("multiple")&&("input-sm"===this.theme.inputClass||"input-lg"===this.theme.inputClass))break;this.inputEl.addClass(this.theme.inputClass)}break;case"editableCheckbox":this.editorEl.addClass("checkbox")}this.buttonsEl&&this.theme.buttonsClass&&this.buttonsEl.find("button").addClass(this.theme.buttonsClass)}},semantic:{formTpl:'
    ',noformTpl:'',controlsTpl:'
    ',inputTpl:"",errorTpl:'
    ',buttonsTpl:'',submitTpl:'',cancelTpl:'',resetTpl:''}};return a}); \ No newline at end of file +angular.module("xeditable",[]).value("editableOptions",{theme:"default",icon_set:"default",buttons:"right",blurElem:"cancel",blurForm:"ignore",activate:"focus",isDisabled:!1,activationEvent:"click",submitButtonTitle:"Submit",submitButtonAriaLabel:"Submit",cancelButtonTitle:"Cancel",cancelButtonAriaLabel:"Cancel",clearButtonTitle:"Clear",clearButtonAriaLabel:"Clear",displayClearButton:!1}),angular.module("xeditable").directive("editableBsdate",["editableDirectiveFactory","$injector","$parse",function(a,b,c){uibDatepickerConfig=b.get("uibDatepickerConfig"),uibDatepickerPopupConfig=b.get("uibDatepickerPopupConfig");var d=[["eIsOpen","is-open"],["eDateDisabled","date-disabled"],["eDatepickerPopup","uib-datepicker-popup"],["eShowButtonBar","show-button-bar"],["eCurrentText","current-text"],["eClearText","clear-text"],["eCloseText","close-text"],["eCloseOnDateSelection","close-on-date-selection"],["eDatepickerAppendToBody","datepicker-append-to-body"],["eOnOpenFocus","on-open-focus"],["eName","name"],["eDateDisabled","date-disabled"],["eAltInputFormats","alt-input-formats"]],e=[["eFormatDay","formatDay"],["eFormatMonth","formatMonth"],["eFormatYear","formatYear"],["eFormatDayHeader","formatDayHeader"],["eFormatDayTitle","formatDayTitle"],["eFormatMonthTitle","formatMonthTitle"],["eMaxMode","maxMode"],["eMinMode","minMode"],["eDatepickerMode","datepickerMode"]];return a({directiveName:"editableBsdate",inputTpl:"
    ",render:function(){this.parent.render.call(this);var a=this.attrs,b=this.scope,f=angular.element('');f.attr("uib-datepicker-popup",a.eDatepickerPopupXEditable||uibDatepickerPopupConfig.datepickerPopup),f.attr("year-range",a.eYearRange||20),f.attr("ng-readonly",a.eReadonly||!1);for(var g=d.length-1;g>=0;g--){var h=a[d[g][0]];"undefined"!=typeof h&&f.attr(d[g][1],h)}a.eNgChange&&(f.attr("ng-change",a.eNgChange),this.inputEl.removeAttr("ng-change")),a.eStyle&&(f.attr("style",a.eStyle),this.inputEl.removeAttr("style"));var i={maxDate:b.$eval(a.eMaxDate)||uibDatepickerConfig.maxDate,minDate:b.$eval(a.eMinDate)||uibDatepickerConfig.minDate,showWeeks:a.eShowWeeks?"true"===a.eShowWeeks.toLowerCase():uibDatepickerConfig.showWeeks,startingDay:a.eStartingDay||0,initDate:b.$eval(a.eInitDate)||new Date};if(a.eDatepickerOptions){var j=c(a.eDatepickerOptions)(b);angular.extend(i,j)}for(var k=e.length-1;k>=0;k--){var l=a[e[k][0]];"undefined"!=typeof l&&(i[e[k][1]]=l)}b.dateOptions=i;var m=angular.isDefined(a.eShowCalendarButton)?a.eShowCalendarButton:"true";if("true"===m){var n=angular.element(''),o=angular.element('');n.attr("ng-click",a.eNgClick),o.append(n),this.inputEl.append(o)}else f.attr("ng-click",a.eNgClick);f.attr("datepicker-options","dateOptions"),this.inputEl.prepend(f),this.inputEl.removeAttr("class"),this.inputEl.removeAttr("ng-click"),this.inputEl.removeAttr("is-open"),this.inputEl.removeAttr("init-date"),this.inputEl.removeAttr("datepicker-popup"),this.inputEl.removeAttr("required"),this.inputEl.removeAttr("ng-model"),this.inputEl.removeAttr("date-picker-append-to-body"),this.inputEl.removeAttr("name"),this.inputEl.attr("class","input-group")},autosubmit:function(){var a=this;a.inputEl.bind("change",function(){setTimeout(function(){a.scope.$apply(function(){a.scope.$form.$submit()})},500)}),a.inputEl.bind("keydown",function(b){9===b.keyCode&&"submit"===a.editorEl.attr("blur")&&a.scope.$apply(function(){a.scope.$form.$submit()})})}})}]),angular.module("xeditable").directive("editableBstime",["editableDirectiveFactory",function(a){return a({directiveName:"editableBstime",inputTpl:"
    ",render:function(){this.parent.render.call(this);var a=angular.element('
    ');a.attr("ng-model",this.inputEl.attr("ng-model")),this.inputEl.removeAttr("ng-model"),this.attrs.eNgChange&&(a.attr("ng-change",this.inputEl.attr("ng-change")),this.inputEl.removeAttr("ng-change")),this.inputEl.wrap(a)}})}]),angular.module("xeditable").directive("editableCheckbox",["editableDirectiveFactory",function(a){return a({directiveName:"editableCheckbox",inputTpl:'',render:function(){this.parent.render.call(this),this.inputEl.wrap(""),this.attrs.eTitle&&this.inputEl.parent().append(""+this.attrs.eTitle+"")},autosubmit:function(){var a=this;a.inputEl.bind("change",function(){setTimeout(function(){a.scope.$apply(function(){a.scope.$form.$submit()})},500)})}})}]),angular.module("xeditable").directive("editableChecklist",["editableDirectiveFactory","editableNgOptionsParser",function(a,b){return a({directiveName:"editableChecklist",inputTpl:"",useCopy:!0,render:function(){this.parent.render.call(this);var a=b(this.attrs.eNgOptions),c="",d="";this.attrs.eNgChange&&(c=' ng-change="'+this.attrs.eNgChange+'"'),this.attrs.eChecklistComparator&&(d=' checklist-comparator="'+this.attrs.eChecklistComparator+'"');var e='';this.inputEl.removeAttr("ng-model"),this.inputEl.removeAttr("ng-options"),this.inputEl.removeAttr("ng-change"),this.inputEl.removeAttr("checklist-comparator"),this.inputEl.html(e)}})}]),angular.module("xeditable").directive("editableCombodate",["editableDirectiveFactory","editableCombodate",function(a,b){return a({directiveName:"editableCombodate",inputTpl:'',render:function(){this.parent.render.call(this);var a={value:new Date(this.scope.$data)},c=this;angular.forEach(["format","template","minYear","maxYear","yearDescending","minuteStep","secondStep","firstItem","errorClass","customClass","roundTime","smartDays"],function(b){var d="e"+b.charAt(0).toUpperCase()+b.slice(1);d in c.attrs&&("minYear"==b||"maxYear"==b||"minuteStep"==b||"secondStep"==b?a[b]=parseInt(c.attrs[d],10):a[b]=c.attrs[d])});var d=b.getInstance(this.inputEl,a);d.$widget.find("select").bind("change",function(a){c.scope.$data=d.getValue()?new Date(d.getValue().replace(/-/g,"/")).toISOString():null}).change()}})}]),function(){var a=function(a){return a.toLowerCase().replace(/-(.)/g,function(a,b){return b.toUpperCase()})},b="text|password|email|tel|number|url|search|color|date|datetime|datetime-local|time|month|week|file".split("|");angular.forEach(b,function(b){var c=a("editable-"+b);angular.module("xeditable").directive(c,["editableDirectiveFactory",function(a){return a({directiveName:c,inputTpl:'',render:function(){if(this.parent.render.call(this),this.attrs.eInputgroupleft||this.attrs.eInputgroupright){if(this.inputEl.wrap('
    '),this.attrs.eInputgroupleft){var a=angular.element(''+this.attrs.eInputgroupleft+"");this.inputEl.parent().prepend(a)}if(this.attrs.eInputgroupright){var b=angular.element(''+this.attrs.eInputgroupright+"");this.inputEl.parent().append(b)}}if(this.attrs.eLabel){var c=angular.element("");this.attrs.eInputgroupleft||this.attrs.eInputgroupright?this.inputEl.parent().parent().prepend(c):this.inputEl.parent().prepend(c)}this.attrs.eFormclass&&(this.editorEl.addClass(this.attrs.eFormclass),this.inputEl.removeAttr("formclass"))},autosubmit:function(){var a=this;a.inputEl.bind("keydown",function(b){9===b.keyCode&&"submit"===a.editorEl.attr("blur")&&a.scope.$apply(function(){a.scope.$form.$submit()})})}})}])}),angular.module("xeditable").directive("editableRange",["editableDirectiveFactory","$interpolate",function(a,b){return a({directiveName:"editableRange",inputTpl:'',render:function(){this.parent.render.call(this),this.inputEl.after(""+b.startSymbol()+"$data"+b.endSymbol()+"")}})}])}(),angular.module("xeditable").directive("editableTagsInput",["editableDirectiveFactory","editableUtils",function(a,b){var c=a({directiveName:"editableTagsInput",inputTpl:"",useCopy:!0,render:function(){this.parent.render.call(this),this.inputEl.append(b.rename("auto-complete",this.attrs.$autoCompleteElement)),this.inputEl.removeAttr("ng-model"),this.inputEl.attr("ng-model","$parent.$data")}}),d=c.link;return c.link=function(a,b,c,e){var f=b.find("editable-tags-input-auto-complete");return c.$autoCompleteElement=f.clone(),f.remove(),d(a,b,c,e)},c}]),angular.module("xeditable").directive("editableRadiolist",["editableDirectiveFactory","editableNgOptionsParser","$interpolate",function(a,b,c){return a({directiveName:"editableRadiolist",inputTpl:"",render:function(){this.parent.render.call(this);var a=b(this.attrs.eNgOptions),d="",e="";this.attrs.eNgChange&&(d=' ng-change="'+this.attrs.eNgChange+'"'),this.attrs.eName&&(e=' name="'+this.attrs.eName+'"');var f='';this.inputEl.removeAttr("ng-model"),this.inputEl.removeAttr("ng-options"),this.inputEl.removeAttr("ng-change"),this.inputEl.html(f)},autosubmit:function(){var a=this;a.inputEl.bind("change",function(){setTimeout(function(){a.scope.$apply(function(){a.scope.$form.$submit()})},500)})}})}]),angular.module("xeditable").directive("editableSelect",["editableDirectiveFactory",function(a){return a({directiveName:"editableSelect",inputTpl:"",render:function(){if(this.parent.render.call(this),this.attrs.ePlaceholder){var a=angular.element('");this.inputEl.append(a)}},autosubmit:function(){var a=this;a.attrs.hasOwnProperty("eMultiple")||a.inputEl.bind("change",function(){a.scope.$apply(function(){a.scope.$form.$submit()})})}})}]),angular.module("xeditable").directive("editableTextarea",["editableDirectiveFactory",function(a){return a({directiveName:"editableTextarea",inputTpl:"",render:function(){this.parent.render.call(this),this.attrs.eFormclass&&(this.editorEl.addClass(this.attrs.eFormclass),this.inputEl.removeAttr("formclass"))},addListeners:function(){var a=this;a.parent.addListeners.call(a),a.single&&"no"!==a.buttons&&a.autosubmit()},autosubmit:function(){var a=this;a.inputEl.bind("keydown",function(b){a.attrs.submitOnEnter?13!==b.keyCode||b.shiftKey||a.scope.$apply(function(){a.scope.$form.$submit()}):((b.ctrlKey||b.metaKey)&&13===b.keyCode||9===b.keyCode&&"submit"===a.editorEl.attr("blur"))&&a.scope.$apply(function(){a.scope.$form.$submit()})})}})}]),angular.module("xeditable").directive("editableUidate",["editableDirectiveFactory",function(a){return a({directiveName:"editableUidate",inputTpl:'',render:function(){this.parent.render.call(this),this.inputEl.attr("ui-date",this.attrs.eUiDate),this.inputEl.attr("placeholder",this.attrs.ePlaceholder)}})}]),angular.module("xeditable").directive("editableUiSelect",["editableDirectiveFactory","editableUtils",function(a,b){var c=a({directiveName:"editableUiSelect",inputTpl:"",render:function(){this.parent.render.call(this),this.inputEl.append(b.rename("ui-select-match",this.attrs.$matchElement)),this.inputEl.append(b.rename("ui-select-choices",this.attrs.$choicesElement)),this.inputEl.removeAttr("ng-model"),this.inputEl.attr("ng-model","$parent.$parent.$data")},autosubmit:function(){var a=this;a.inputEl.bind("change",function(){setTimeout(function(){a.scope.$apply(function(){a.scope.$form.$submit()})},500)}),a.inputEl.bind("keydown",function(b){9===b.keyCode&&"submit"===a.editorEl.attr("blur")&&a.scope.$apply(function(){a.scope.$form.$submit()})})}}),d=c.link;return c.link=function(a,b,c,e){var f=b.find("editable-ui-select-match"),g=b.find("editable-ui-select-choices");return c.$matchElement=f.clone(),c.$choicesElement=g.clone(),f.remove(),g.remove(),d(a,b,c,e)},c}]),angular.module("xeditable").factory("editableController",["$q","editableUtils",function(a,b){function c(a,c,d,e,f,g,h,i,j,k,l,m){var n,o,p=this;p.scope=a,p.elem=d,p.attrs=c,p.inputEl=null,p.editorEl=null,p.single=!0,p.error="",p.theme=f[c.editableTheme]||f[h.theme]||f["default"],p.parent={};var q=c.editableTheme||h.theme||"default",r=c.editableIconSet||h.icon_set;p.icon_set="default"===r?g["default"][q]:g.external[r],p.inputTpl="",p.directiveName="",p.useCopy=!1,p.single=null,p.buttons="right",p.popover=!1,p.init=function(b){if(p.single=b,p.name=c.eName||c[p.directiveName],!c[p.directiveName])throw"You should provide value for `"+p.directiveName+"` in editable element!";n=e(c[p.directiveName]),p.single?p.buttons=p.attrs.buttons||h.buttons:p.buttons="no",c.eName&&p.scope.$watch("$data",function(a){p.scope.$form.$data[c.eName]=a}),c.onshow&&(p.onshow=function(){return p.catchError(e(c.onshow)(a))}),c.onhide&&(p.onhide=function(){return e(c.onhide)(a)}),c.oncancel&&(p.oncancel=function(){return e(c.oncancel)(a)}),c.onbeforesave&&(p.onbeforesave=function(){return p.catchError(e(c.onbeforesave)(a))}),c.onaftersave&&(p.onaftersave=function(){return p.catchError(e(c.onaftersave)(a))}),c.popover&&(p.popover=p.attrs.popover),a.$parent.$watch(c[p.directiveName],function(a,b){p.setLocalValue(),p.handleEmpty()})},p.render=function(){var a=p.theme;p.inputEl=angular.element(p.inputTpl),p.controlsEl=angular.element(a.controlsTpl),p.controlsEl.append(p.inputEl),"no"!==p.buttons&&(p.buttonsEl=angular.element(a.buttonsTpl),p.submitEl=angular.element(a.submitTpl),p.resetEl=angular.element(a.resetTpl),p.cancelEl=angular.element(a.cancelTpl),p.submitEl.attr("title",h.submitButtonTitle),p.submitEl.attr("aria-label",h.submitButtonAriaLabel),p.cancelEl.attr("title",h.cancelButtonTitle),p.cancelEl.attr("aria-label",h.cancelButtonAriaLabel),p.resetEl.attr("title",h.clearButtonTitle),p.resetEl.attr("aria-label",h.clearButtonAriaLabel),p.icon_set&&(p.submitEl.find("span").addClass(p.icon_set.ok),p.cancelEl.find("span").addClass(p.icon_set.cancel),p.resetEl.find("span").addClass(p.icon_set.clear)),p.buttonsEl.append(p.submitEl).append(p.cancelEl),h.displayClearButton&&p.buttonsEl.append(p.resetEl),p.controlsEl.append(p.buttonsEl),p.inputEl.addClass("editable-has-buttons")),p.errorEl=angular.element(a.errorTpl),p.controlsEl.append(p.errorEl),p.editorEl=angular.element(p.single?a.formTpl:a.noformTpl),p.editorEl.append(p.controlsEl);for(var d in c.$attr)if(!(d.length<=1)){var e=!1,f=d.substring(1,2);if("e"===d.substring(0,1)&&f===f.toUpperCase()&&(e=d.substring(1),"Form"!==e&&"NgSubmit"!==e)){var g=e.substring(0,1),i=e.substring(1,2);e=i===i.toUpperCase()&&g===g.toUpperCase()?g.toLowerCase()+"-"+b.camelToDash(e.substring(1)):g.toLowerCase()+b.camelToDash(e.substring(1));var j="value"!==e&&""===c[d]?e:c[d];p.inputEl.attr(e,j)}}if(p.inputEl.addClass("editable-input"),p.inputEl.attr("ng-model","$parent.$data"),p.editorEl.addClass(b.camelToDash(p.directiveName)),p.single&&(p.editorEl.attr("editable-form","$form"),p.editorEl.attr("blur",p.attrs.blur||h.blurElem)),p.popover){var k=angular.element("
    ");k.append(p.editorEl),p.editorEl=k,m.put("popover.html",p.editorEl[0].outerHTML)}angular.isFunction(a.postrender)&&a.postrender.call(p)},p.setLocalValue=function(){p.scope.$data=p.useCopy?angular.copy(n(a.$parent)):n(a.$parent)};var s=null;p.show=function(){return p.setLocalValue(),p.render(),d.after(p.editorEl),s=a.$new(),j(p.editorEl)(s),p.addListeners(),d.addClass("editable-hide"),p.onshow()},p.hide=function(){return s.$destroy(),p.controlsEl.remove(),p.editorEl.remove(),d.removeClass("editable-hide"),p.popover&&m.remove("popover.html"),p.onhide()},p.cancel=function(){p.oncancel()},p.addListeners=function(){p.inputEl.bind("keyup",function(a){if(p.single)switch(a.keyCode){case 27:p.scope.$apply(function(){p.scope.$form.$cancel()})}}),p.single&&"no"===p.buttons&&p.autosubmit(),p.editorEl.bind("click",function(a){a.which&&1!==a.which||p.scope.$form.$visible&&(p.scope.$form._clicked=!0)})},p.setWaiting=function(a){a?(o=!p.inputEl.attr("disabled")&&!p.inputEl.attr("ng-disabled")&&!p.inputEl.attr("ng-enabled"),o&&(p.inputEl.attr("disabled","disabled"),p.buttonsEl&&p.buttonsEl.find("button").attr("disabled","disabled"))):o&&(p.inputEl.removeAttr("disabled"),p.buttonsEl&&p.buttonsEl.find("button").removeAttr("disabled"))},p.activate=function(a,b){setTimeout(function(){var c=p.inputEl[0];"focus"===h.activate&&c.focus?(void 0!==a&&""!==a&&c.setSelectionRange&&(b=b||a,c.onfocus=function(){setTimeout(function(){try{this.setSelectionRange(a,b)}catch(c){}}.bind(this))}),"editableRadiolist"==p.directiveName||"editableChecklist"==p.directiveName||"editableBsdate"==p.directiveName||"editableTagsInput"==p.directiveName?c.querySelector(".ng-pristine").focus():c.focus()):"select"===h.activate&&(c.select?c.select():c.focus&&c.focus())},0)},p.setError=function(b){angular.isObject(b)||(a.$error=l.trustAsHtml(b),p.error=b)},p.catchError=function(a,b){return angular.isObject(a)&&b!==!0?k.when(a).then(angular.bind(this,function(a){this.catchError(a,!0)}),angular.bind(this,function(a){this.catchError(a,!0)})):b&&angular.isObject(a)&&a.status&&200!==a.status&&a.data&&angular.isString(a.data)?(this.setError(a.data),a=a.data):angular.isString(a)&&this.setError(a),a},p.save=function(){n.assign(a.$parent,p.useCopy?angular.copy(p.scope.$data):p.scope.$data)},p.handleEmpty=function(){var b=n(a.$parent),c=null===b||void 0===b||""===b||angular.isArray(b)&&0===b.length;d.toggleClass("editable-empty",c)},p.autosubmit=angular.noop,p.onshow=angular.noop,p.onhide=angular.noop,p.oncancel=angular.noop,p.onbeforesave=angular.noop,p.onaftersave=angular.noop}return c.$inject=["$scope","$attrs","$element","$parse","editableThemes","editableIcons","editableOptions","$rootScope","$compile","$q","$sce","$templateCache"],c}]),angular.module("xeditable").factory("editableDirectiveFactory",["$parse","$compile","editableThemes","$rootScope","$document","editableController","editableFormController","editableOptions",function(a,b,c,d,e,f,g,h){return function(b){return{restrict:"A",scope:!0,require:[b.directiveName,"?^form"],controller:f,link:function(c,f,i,j){var k,l=j[0],m=!1;if(j[1])k=j[1],m=void 0===i.eSingle;else if(i.eForm){var n=a(i.eForm)(c);if(n)k=n,m=!0;else if(f&&"function"==typeof f.parents&&f.parents().last().find('form[name="'+i.eForm+'"]').length)k=null,m=!0;else for(var o=0;o=0&&a.splice(c,1),b},camelToDash:function(a){var b=/[A-Z]/g;return a.replace(b,function(a,b){return(b?"-":"")+a.toLowerCase()})},dashToCamel:function(a){var b=/([\:\-\_]+(.))/g,c=/^moz([A-Z])/;return a.replace(b,function(a,b,c,d){return d?c.toUpperCase():c}).replace(c,"Moz$1")},rename:function(a,b){if(b[0]&&b[0].attributes){var c=angular.element("<"+a+"/>");c.html(b.html());for(var d=b[0].attributes,e=0;e').html(this.getTemplate()),this.initCombos(),this.options.smartDays){var a=this;this.$widget.find("select").bind("change",function(b){(angular.element(b.target).hasClass("month")||angular.element(b.target).hasClass("year"))&&a.fillCombo("day")})}this.$widget.find("select").css("width","auto"),this.$element.css("display","none").after(this.$widget),this.setValue(this.$element.val()||this.options.value)},getTemplate:function(){var a=this.options.template,b=this.options.customClass;return angular.forEach(this.map,function(b,c){b=b[0];var d=new RegExp(b+"+"),e=b.length>1?b.substring(1,2):b;a=a.replace(d,"{"+e+"}")}),a=a.replace(/ /g," "),angular.forEach(this.map,function(c,d){c=c[0];var e=c.length>1?c.substring(1,2):c;a=a.replace("{"+e+"}",'')}),a},initCombos:function(){for(var a in this.map){var b=this.$widget[0].querySelectorAll("."+a);this["$"+a]=b.length?angular.element(b):null,this.fillCombo(a)}},fillCombo:function(a){var b=this["$"+a];if(b){var c="fill"+a.charAt(0).toUpperCase()+a.slice(1),d=this[c](),e=b.val();b.html("");for(var f=0;f'+d[f][1]+"");b.val(e)}},fillCommon:function(a){var b,c=[];if("name"===this.options.firstItem){b=moment.relativeTime||moment.langData()._relativeTime;var d="function"==typeof b[a]?b[a](1,!0,a,!1):b[a];d=d.split(" ").reverse()[0],c.push(["",d])}else"empty"===this.options.firstItem&&c.push(["",""]);return c},fillDay:function(){var a,b,c=this.fillCommon("d"),d=-1!==this.options.template.indexOf("DD"),e=31;if(this.options.smartDays&&this.$month&&this.$year){var f=parseInt(this.$month.val(),10),g=parseInt(this.$year.val(),10);isNaN(f)||isNaN(g)||(e=moment([g,f]).daysInMonth())}for(b=1;e>=b;b++)a=d?this.leadZero(b):b,c.push([b,a]);return c},fillMonth:function(){var a,b,c=this.fillCommon("M"),d=-1!==this.options.template.indexOf("MMMM"),e=-1!==this.options.template.indexOf("MMM"),f=-1!==this.options.template.indexOf("MM");for(b=0;11>=b;b++)a=d?moment().date(1).month(b).format("MMMM"):e?moment().date(1).month(b).format("MMM"):f?this.leadZero(b+1):b+1,c.push([b,a]);return c},fillYear:function(){var a,b,c=[],d=-1!==this.options.template.indexOf("YYYY");for(b=this.options.maxYear;b>=this.options.minYear;b--)a=d?b:(b+"").substring(2),c[this.options.yearDescending?"push":"unshift"]([b,a]);return c=this.fillCommon("y").concat(c)},fillHour:function(){var a,b,c=this.fillCommon("h"),d=-1!==this.options.template.indexOf("h"),e=(-1!==this.options.template.indexOf("H"),-1!==this.options.template.toLowerCase().indexOf("hh")),f=d?1:0,g=d?12:23;for(b=f;g>=b;b++)a=e?this.leadZero(b):b,c.push([b,a]);return c},fillMinute:function(){var a,b,c=this.fillCommon("m"),d=-1!==this.options.template.indexOf("mm");for(b=0;59>=b;b+=this.options.minuteStep)a=d?this.leadZero(b):b,c.push([b,a]);return c},fillSecond:function(){var a,b,c=this.fillCommon("s"),d=-1!==this.options.template.indexOf("ss");for(b=0;59>=b;b+=this.options.secondStep)a=d?this.leadZero(b):b,c.push([b,a]);return c},fillAmpm:function(){var a=-1!==this.options.template.indexOf("a"),b=(-1!==this.options.template.indexOf("A"),[["am",a?"am":"AM"],["pm",a?"pm":"PM"]]);return b},getValue:function(a){var b,c={},d=this,e=!1;return angular.forEach(this.map,function(a,b){if("ampm"!==b){var f="day"===b?1:0;return c[b]=d["$"+b]?parseInt(d["$"+b].val(),10):f,isNaN(c[b])?(e=!0,!1):void 0}}),e?"":(this.$ampm&&(12===c.hour?c.hour="am"===this.$ampm.val()?0:12:c.hour="am"===this.$ampm.val()?c.hour:c.hour+12),b=moment([c.year,c.month,c.day,c.hour,c.minute,c.second]),this.highlight(b),a=void 0===a?this.options.format:a,null===a?b.isValid()?b:null:b.isValid()?b.format(a):"")},setValue:function(a){function b(a,b){var c={};return angular.forEach(a.children("option"),function(a,d){var e=angular.element(a).attr("value");if(""!==e){var f=Math.abs(e-b);("undefined"==typeof c.distance||f=12?(e.ampm="pm",e.hour>12&&(e.hour-=12)):(e.ampm="am",0===e.hour&&(e.hour=12))),angular.forEach(e,function(a,c){d["$"+c]&&("minute"===c&&d.options.minuteStep>1&&d.options.roundTime&&(a=b(d["$"+c],a)), +"second"===c&&d.options.secondStep>1&&d.options.roundTime&&(a=b(d["$"+c],a)),d["$"+c].val(a))}),this.options.smartDays&&this.fillCombo("day"),this.$element.val(c.format(this.options.format)).triggerHandler("change"))}},highlight:function(a){a.isValid()?this.options.errorClass?this.$widget.removeClass(this.options.errorClass):this.$widget.find("select").css("border-color",this.borderColor):this.options.errorClass?this.$widget.addClass(this.options.errorClass):(this.borderColor||(this.borderColor=this.$widget.find("select").css("border-color")),this.$widget.find("select").css("border-color","red"))},leadZero:function(a){return 9>=a?"0"+a:a},destroy:function(){this.$widget.remove(),this.$element.removeData("combodate").show()}},{getInstance:function(b,c){return new a(b,c)}}}]),angular.module("xeditable").factory("editableIcons",function(){var a={"default":{bs2:{ok:"icon-ok icon-white",cancel:"icon-remove",clear:"icon-trash"},bs3:{ok:"glyphicon glyphicon-ok",cancel:"glyphicon glyphicon-remove",clear:"glyphicon glyphicon-trash"}},external:{"font-awesome":{ok:"fa fa-check",cancel:"fa fa-times",clear:"fa fa-trash"}}};return a}),angular.module("xeditable").factory("editableThemes",function(){var a={"default":{formTpl:'
    ',noformTpl:'',controlsTpl:'',inputTpl:"",errorTpl:'
    ',buttonsTpl:'',submitTpl:'',cancelTpl:'',resetTpl:''},bs2:{formTpl:'
    ',noformTpl:'',controlsTpl:'
    ',inputTpl:"",errorTpl:'
    ',buttonsTpl:'',submitTpl:'',cancelTpl:'',resetTpl:''},bs3:{formTpl:'
    ',noformTpl:'',controlsTpl:'
    ',inputTpl:"",errorTpl:'
    ',buttonsTpl:'',submitTpl:'',cancelTpl:'',resetTpl:'',buttonsClass:"",inputClass:"",postrender:function(){switch(this.directiveName){case"editableText":case"editableSelect":case"editableTextarea":case"editableEmail":case"editableTel":case"editableNumber":case"editableUrl":case"editableSearch":case"editableDate":case"editableDatetime":case"editableBsdate":case"editableTime":case"editableMonth":case"editableWeek":case"editablePassword":case"editableDatetimeLocal":if(this.inputEl.addClass("form-control"),this.theme.inputClass){if(this.inputEl.attr("multiple")&&("input-sm"===this.theme.inputClass||"input-lg"===this.theme.inputClass))break;this.inputEl.addClass(this.theme.inputClass)}break;case"editableCheckbox":this.editorEl.addClass("checkbox")}this.buttonsEl&&this.theme.buttonsClass&&this.buttonsEl.find("button").addClass(this.theme.buttonsClass)}},semantic:{formTpl:'
    ',noformTpl:'',controlsTpl:'
    ',inputTpl:"",errorTpl:'
    ',buttonsTpl:'',submitTpl:'',cancelTpl:'',resetTpl:''}};return a}); \ No newline at end of file diff --git a/zip/angular-xeditable-0.8.1.zip b/zip/angular-xeditable-0.8.1.zip new file mode 100644 index 0000000000000000000000000000000000000000..b21ae01b75843282fa047b1b00884ff0588a103f GIT binary patch literal 38831 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

    ILuIY;vaq5doC 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 literal 0 HcmV?d00001 diff --git a/zip/angular-xeditable-starter.zip b/zip/angular-xeditable-starter.zip index 87d7f24cc0df6ddff5fb874828f4822d6073e0a5..55f59f553ff50b48eddc19b93ae122ce30caee0b 100644 GIT binary patch delta 36375 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 delta 36344 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 L#aKd%{`UM2*gg)p