From 665be98281990da8e6598869cbc12b6b5e0c8f62 Mon Sep 17 00:00:00 2001 From: Eugene Fidelin Date: Tue, 6 Jun 2017 11:05:18 +0200 Subject: [PATCH] Release 0.8.0 --- CHANGELOG.txt | 6 ++ bower.json | 2 +- dist/css/xeditable.css | 10 +++ dist/css/xeditable.min.css | 6 +- dist/js/xeditable.js | 59 ++++++++++-- dist/js/xeditable.min.js | 8 +- index.html | 85 ++++++++++++++++-- package.json | 2 +- starter/angular-xeditable/css/xeditable.css | 10 +++ .../angular-xeditable/css/xeditable.min.css | 6 +- starter/angular-xeditable/js/xeditable.js | 59 ++++++++++-- starter/angular-xeditable/js/xeditable.min.js | 8 +- zip/angular-xeditable-0.8.0.zip | Bin 0 -> 38700 bytes zip/angular-xeditable-starter.zip | Bin 39375 -> 39736 bytes 14 files changed, 224 insertions(+), 37 deletions(-) create mode 100644 zip/angular-xeditable-0.8.0.zip diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 13e28c2d..a2b1d5a8 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,6 +1,12 @@ Angular-xeditable changelog ============================= +Version 0.8.0 Jun 6, 2017 + +---------------------------- +[enh #659] Add no buttons support for ui-select (ckosloski) +[enh #657] Add support for ui-boostrap popover (ckosloski) + Version 0.7.1 Apr 24, 2017 ---------------------------- diff --git a/bower.json b/bower.json index 566f1d12..cb6a4035 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "angular-xeditable", - "version": "0.7.1", + "version": "0.8.0", "description": "Edit in place for AngularJS", "author": "https://github.com/vitalets", "license": "MIT", diff --git a/dist/css/xeditable.css b/dist/css/xeditable.css index d1c0755e..b86cfae8 100644 --- a/dist/css/xeditable.css +++ b/dist/css/xeditable.css @@ -132,6 +132,16 @@ a.editable-empty:focus { text-decoration: none; } +/* ui-bootstrap editable popover */ +.ui-popover-wrapper a { + /* make the link always show up */ + display: inline !important; +} + +.ui-popover-wrapper form { + display: none !important; +} + /* editable popover */ .popover-wrapper > a { /* make the link always show up */ diff --git a/dist/css/xeditable.min.css b/dist/css/xeditable.min.css index 21d867f7..b19ca268 100644 --- a/dist/css/xeditable.min.css +++ b/dist/css/xeditable.min.css @@ -1,7 +1,7 @@ /*! -angular-xeditable - 0.7.1 +angular-xeditable - 0.8.0 Edit-in-place for angular.js -Build date: 2017-04-24 +Build date: 2017-06-06 */ -.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}.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 +.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 6ff1f133..435b2c34 100644 --- a/dist/js/xeditable.js +++ b/dist/js/xeditable.js @@ -1,7 +1,7 @@ /*! -angular-xeditable - 0.7.1 +angular-xeditable - 0.8.0 Edit-in-place for angular.js -Build date: 2017-04-24 +Build date: 2017-06-06 */ /** * Angular-xeditable module @@ -696,6 +696,25 @@ angular.module('xeditable').directive('editableUiSelect',['editableDirectiveFact this.inputEl.append(editableUtils.rename('ui-select-choices', this.attrs.$choicesElement)); this.inputEl.removeAttr('ng-model'); this.inputEl.attr('ng-model', '$parent.$parent.$data'); + }, + autosubmit: function() { + var self = this; + self.inputEl.bind('change', function() { + setTimeout(function() { + self.scope.$apply(function() { + self.scope.$form.$submit(); + }); + }, 500); + }); + + self.inputEl.bind('keydown', function(e) { + //submit on tab + if (e.keyCode === 9 && self.editorEl.attr('blur') === 'submit') { + self.scope.$apply(function() { + self.scope.$form.$submit(); + }); + } + }); } }); @@ -730,8 +749,8 @@ angular.module('xeditable').factory('editableController', function($q, editableUtils) { //EditableController function - EditableController.$inject = ['$scope', '$attrs', '$element', '$parse', 'editableThemes', 'editableIcons', 'editableOptions', '$rootScope', '$compile', '$q', '$sce']; - function EditableController($scope, $attrs, $element, $parse, editableThemes, editableIcons, editableOptions, $rootScope, $compile, $q, $sce) { + EditableController.$inject = ['$scope', '$attrs', '$element', '$parse', 'editableThemes', 'editableIcons', 'editableOptions', '$rootScope', '$compile', '$q', '$sce', '$templateCache']; + function EditableController($scope, $attrs, $element, $parse, editableThemes, editableIcons, editableOptions, $rootScope, $compile, $q, $sce, $templateCache) { var valueGetter; //if control is disabled - it does not participate in waiting process @@ -787,7 +806,16 @@ angular.module('xeditable').factory('editableController', * @var {string|attribute} buttons * @memberOf editable-element */ - self.buttons = 'right'; + self.buttons = 'right'; + + /** + * Whether to show the editable element in a ui-bootstrap popover. Values: `true|false`. + * + * @var {boolean|attribute} popover + * @memberOf editable-element + */ + self.popover = false; + /** * Action when control losses focus. Values: `cancel|submit|ignore`. * Has sense only for single editable element. @@ -848,7 +876,7 @@ angular.module('xeditable').factory('editableController', * @var {method|attribute} onhide * @memberOf editable-element */ - if($attrs.onhide) { + if ($attrs.onhide) { self.onhide = function() { return $parse($attrs.onhide)($scope); }; @@ -860,7 +888,7 @@ angular.module('xeditable').factory('editableController', * @var {method|attribute} oncancel * @memberOf editable-element */ - if($attrs.oncancel) { + if ($attrs.oncancel) { self.oncancel = function() { return $parse($attrs.oncancel)($scope); }; @@ -892,6 +920,10 @@ angular.module('xeditable').factory('editableController', }; } + if ($attrs.popover) { + self.popover = self.attrs.popover; + } + // watch change of model to update editable element // now only add/remove `editable-empty` class. // Initially this method called with newVal = undefined, oldVal = undefined @@ -1001,6 +1033,13 @@ angular.module('xeditable').factory('editableController', self.editorEl.attr('blur', self.attrs.blur || editableOptions.blurElem); } + if (self.popover) { + var wrapper = angular.element('
'); + wrapper.append(self.editorEl); + self.editorEl = wrapper; + $templateCache.put('popover.html', self.editorEl[0].outerHTML); + } + //apply `postrender` method of theme if (angular.isFunction(theme.postrender)) { theme.postrender.call(self); @@ -1026,7 +1065,7 @@ angular.module('xeditable').factory('editableController', /* Originally render() was inside init() method, but some directives polluting editorEl, - so it is broken on second openning. + so it is broken on second opening. Cloning is not a solution as jqLite can not clone with event handler's. */ self.render(); @@ -1058,6 +1097,10 @@ angular.module('xeditable').factory('editableController', self.editorEl.remove(); $element.removeClass('editable-hide'); + if (self.popover) { + $templateCache.remove('popover.html'); + } + // onhide return self.onhide(); }; diff --git a/dist/js/xeditable.min.js b/dist/js/xeditable.min.js index bb9616d1..1c06f958 100644 --- a/dist/js/xeditable.min.js +++ b/dist/js/xeditable.min.js @@ -1,7 +1,7 @@ /*! -angular-xeditable - 0.7.1 +angular-xeditable - 0.8.0 Edit-in-place for angular.js -Build date: 2017-04-24 +Build date: 2017-06-06 */ -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")}}),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){var m,n,o=this;o.scope=a,o.elem=d,o.attrs=c,o.inputEl=null,o.editorEl=null,o.single=!0,o.error="",o.theme=f[c.editableTheme]||f[h.theme]||f["default"],o.parent={};var p=c.editableTheme||h.theme||"default",q=c.editableIconSet||h.icon_set;o.icon_set="default"===q?g["default"][p]:g.external[q],o.inputTpl="",o.directiveName="",o.useCopy=!1,o.single=null,o.buttons="right",o.init=function(b){if(o.single=b,o.name=c.eName||c[o.directiveName],!c[o.directiveName])throw"You should provide value for `"+o.directiveName+"` in editable element!";m=e(c[o.directiveName]),o.single?o.buttons=o.attrs.buttons||h.buttons:o.buttons="no",c.eName&&o.scope.$watch("$data",function(a){o.scope.$form.$data[c.eName]=a}),c.onshow&&(o.onshow=function(){return o.catchError(e(c.onshow)(a))}),c.onhide&&(o.onhide=function(){return e(c.onhide)(a)}),c.oncancel&&(o.oncancel=function(){return e(c.oncancel)(a)}),c.onbeforesave&&(o.onbeforesave=function(){return o.catchError(e(c.onbeforesave)(a))}),c.onaftersave&&(o.onaftersave=function(){return o.catchError(e(c.onaftersave)(a))}),a.$parent.$watch(c[o.directiveName],function(a,b){o.setLocalValue(),o.handleEmpty()})},o.render=function(){var a=o.theme;o.inputEl=angular.element(o.inputTpl),o.controlsEl=angular.element(a.controlsTpl),o.controlsEl.append(o.inputEl),"no"!==o.buttons&&(o.buttonsEl=angular.element(a.buttonsTpl),o.submitEl=angular.element(a.submitTpl),o.resetEl=angular.element(a.resetTpl),o.cancelEl=angular.element(a.cancelTpl),o.submitEl.attr("title",h.submitButtonTitle),o.submitEl.attr("aria-label",h.submitButtonAriaLabel),o.cancelEl.attr("title",h.cancelButtonTitle),o.cancelEl.attr("aria-label",h.cancelButtonAriaLabel),o.resetEl.attr("title",h.clearButtonTitle),o.resetEl.attr("aria-label",h.clearButtonAriaLabel),o.icon_set&&(o.submitEl.find("span").addClass(o.icon_set.ok),o.cancelEl.find("span").addClass(o.icon_set.cancel),o.resetEl.find("span").addClass(o.icon_set.clear)),o.buttonsEl.append(o.submitEl).append(o.cancelEl),h.displayClearButton&&o.buttonsEl.append(o.resetEl),o.controlsEl.append(o.buttonsEl),o.inputEl.addClass("editable-has-buttons")),o.errorEl=angular.element(a.errorTpl),o.controlsEl.append(o.errorEl),o.editorEl=angular.element(o.single?a.formTpl:a.noformTpl),o.editorEl.append(o.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];o.inputEl.attr(e,j)}}o.inputEl.addClass("editable-input"),o.inputEl.attr("ng-model","$parent.$data"),o.editorEl.addClass(b.camelToDash(o.directiveName)),o.single&&(o.editorEl.attr("editable-form","$form"),o.editorEl.attr("blur",o.attrs.blur||h.blurElem)),angular.isFunction(a.postrender)&&a.postrender.call(o)},o.setLocalValue=function(){o.scope.$data=o.useCopy?angular.copy(m(a.$parent)):m(a.$parent)};var r=null;o.show=function(){return o.setLocalValue(),o.render(),d.after(o.editorEl),r=a.$new(),j(o.editorEl)(r),o.addListeners(),d.addClass("editable-hide"),o.onshow()},o.hide=function(){return r.$destroy(),o.controlsEl.remove(),o.editorEl.remove(),d.removeClass("editable-hide"),o.onhide()},o.cancel=function(){o.oncancel()},o.addListeners=function(){o.inputEl.bind("keyup",function(a){if(o.single)switch(a.keyCode){case 27:o.scope.$apply(function(){o.scope.$form.$cancel()})}}),o.single&&"no"===o.buttons&&o.autosubmit(),o.editorEl.bind("click",function(a){a.which&&1!==a.which||o.scope.$form.$visible&&(o.scope.$form._clicked=!0)})},o.setWaiting=function(a){a?(n=!o.inputEl.attr("disabled")&&!o.inputEl.attr("ng-disabled")&&!o.inputEl.attr("ng-enabled"),n&&(o.inputEl.attr("disabled","disabled"),o.buttonsEl&&o.buttonsEl.find("button").attr("disabled","disabled"))):n&&(o.inputEl.removeAttr("disabled"),o.buttonsEl&&o.buttonsEl.find("button").removeAttr("disabled"))},o.activate=function(a,b){setTimeout(function(){var c=o.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"==o.directiveName||"editableChecklist"==o.directiveName||"editableBsdate"==o.directiveName||"editableTagsInput"==o.directiveName?c.querySelector(".ng-pristine").focus():c.focus()):"select"===h.activate&&(c.select?c.select():c.focus&&c.focus())},0)},o.setError=function(b){angular.isObject(b)||(a.$error=l.trustAsHtml(b),o.error=b)},o.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},o.save=function(){m.assign(a.$parent,o.useCopy?angular.copy(o.scope.$data):o.scope.$data)},o.handleEmpty=function(){var b=m(a.$parent),c=null===b||void 0===b||""===b||angular.isArray(b)&&0===b.length;d.toggleClass("editable-empty",c)},o.autosubmit=angular.noop,o.onshow=angular.noop,o.onhide=angular.noop,o.oncancel=angular.noop,o.onbeforesave=angular.noop,o.onaftersave=angular.noop}return c.$inject=["$scope","$attrs","$element","$parse","editableThemes","editableIcons","editableOptions","$rootScope","$compile","$q","$sce"],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})}})}]),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 diff --git a/index.html b/index.html index 6920bfa3..b772e227 100644 --- a/index.html +++ b/index.html @@ -11,18 +11,24 @@ + + + + + + - - + + @@ -51,7 +57,7 @@
  • Home
  • GitHub
  • - +
    @@ -134,6 +140,7 @@
  • Validate remote
  • Disable editing
  • Editable Popover
  • +
  • Editable ui-bootstrap Popover
  • Submit @@ -221,7 +228,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 @@ -1478,7 +1485,7 @@

    demo

  • {{ debug["editable-popover"] | json }}
    -

    To made an editable field display in a popover, wrap the editable in <div class="popover-wrapper">.

    +

    To make a single editable field display in a pure css popover, wrap the editable in <div class="popover-wrapper">.

    +

    html

    +
    <div ng-controller="UiPopoverCtrl" id="UiPopoverCtrl">
    +  <div class="ui-popover-wrapper">
    +    <a href="#" 
    +       id="simpleText"
    +       editable-text="user.name" 
    +       e-label="User Name"
    +       uib-popover-template="'popover.html'"
    +       popover-is-open="popoverIsOpen"
    +       popover-append-to-body="true"
    +       onshow="popoverIsOpen = !popoverIsOpen" 
    +       onhide="popoverIsOpen = !popoverIsOpen"
    +       popover="true">{{ user.name || 'empty' }}</a>
    +  </div>
    +</div>
    +

    controller.js

    +
    app.controller('UiPopoverCtrl', function($scope) {
    +  $scope.user = {
    +    name: 'awesome user',
    +      location: 'location 1'
    +  };
     });
    @@ -2796,6 +2865,12 @@

    Attributes

    Attributes can be defined for any element having edi onshow method

    Called when control is shown.
    See demo.

    + + + + popover + boolean +

    Whether to show the editable element in a ui-bootstrap popover. Values: true|false.

    diff --git a/package.json b/package.json index a6d99510..1418b553 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "angular-xeditable", "description": "Edit-in-place for angular.js", - "version": "0.7.1", + "version": "0.8.0", "homepage": "https://vitalets.github.io/angular-xeditable", "author": { "name": "Vitaliy Potapov", diff --git a/starter/angular-xeditable/css/xeditable.css b/starter/angular-xeditable/css/xeditable.css index d1c0755e..b86cfae8 100644 --- a/starter/angular-xeditable/css/xeditable.css +++ b/starter/angular-xeditable/css/xeditable.css @@ -132,6 +132,16 @@ a.editable-empty:focus { text-decoration: none; } +/* ui-bootstrap editable popover */ +.ui-popover-wrapper a { + /* make the link always show up */ + display: inline !important; +} + +.ui-popover-wrapper form { + display: none !important; +} + /* editable popover */ .popover-wrapper > a { /* make the link always show up */ diff --git a/starter/angular-xeditable/css/xeditable.min.css b/starter/angular-xeditable/css/xeditable.min.css index 21d867f7..b19ca268 100644 --- a/starter/angular-xeditable/css/xeditable.min.css +++ b/starter/angular-xeditable/css/xeditable.min.css @@ -1,7 +1,7 @@ /*! -angular-xeditable - 0.7.1 +angular-xeditable - 0.8.0 Edit-in-place for angular.js -Build date: 2017-04-24 +Build date: 2017-06-06 */ -.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}.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 +.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 6ff1f133..435b2c34 100644 --- a/starter/angular-xeditable/js/xeditable.js +++ b/starter/angular-xeditable/js/xeditable.js @@ -1,7 +1,7 @@ /*! -angular-xeditable - 0.7.1 +angular-xeditable - 0.8.0 Edit-in-place for angular.js -Build date: 2017-04-24 +Build date: 2017-06-06 */ /** * Angular-xeditable module @@ -696,6 +696,25 @@ angular.module('xeditable').directive('editableUiSelect',['editableDirectiveFact this.inputEl.append(editableUtils.rename('ui-select-choices', this.attrs.$choicesElement)); this.inputEl.removeAttr('ng-model'); this.inputEl.attr('ng-model', '$parent.$parent.$data'); + }, + autosubmit: function() { + var self = this; + self.inputEl.bind('change', function() { + setTimeout(function() { + self.scope.$apply(function() { + self.scope.$form.$submit(); + }); + }, 500); + }); + + self.inputEl.bind('keydown', function(e) { + //submit on tab + if (e.keyCode === 9 && self.editorEl.attr('blur') === 'submit') { + self.scope.$apply(function() { + self.scope.$form.$submit(); + }); + } + }); } }); @@ -730,8 +749,8 @@ angular.module('xeditable').factory('editableController', function($q, editableUtils) { //EditableController function - EditableController.$inject = ['$scope', '$attrs', '$element', '$parse', 'editableThemes', 'editableIcons', 'editableOptions', '$rootScope', '$compile', '$q', '$sce']; - function EditableController($scope, $attrs, $element, $parse, editableThemes, editableIcons, editableOptions, $rootScope, $compile, $q, $sce) { + EditableController.$inject = ['$scope', '$attrs', '$element', '$parse', 'editableThemes', 'editableIcons', 'editableOptions', '$rootScope', '$compile', '$q', '$sce', '$templateCache']; + function EditableController($scope, $attrs, $element, $parse, editableThemes, editableIcons, editableOptions, $rootScope, $compile, $q, $sce, $templateCache) { var valueGetter; //if control is disabled - it does not participate in waiting process @@ -787,7 +806,16 @@ angular.module('xeditable').factory('editableController', * @var {string|attribute} buttons * @memberOf editable-element */ - self.buttons = 'right'; + self.buttons = 'right'; + + /** + * Whether to show the editable element in a ui-bootstrap popover. Values: `true|false`. + * + * @var {boolean|attribute} popover + * @memberOf editable-element + */ + self.popover = false; + /** * Action when control losses focus. Values: `cancel|submit|ignore`. * Has sense only for single editable element. @@ -848,7 +876,7 @@ angular.module('xeditable').factory('editableController', * @var {method|attribute} onhide * @memberOf editable-element */ - if($attrs.onhide) { + if ($attrs.onhide) { self.onhide = function() { return $parse($attrs.onhide)($scope); }; @@ -860,7 +888,7 @@ angular.module('xeditable').factory('editableController', * @var {method|attribute} oncancel * @memberOf editable-element */ - if($attrs.oncancel) { + if ($attrs.oncancel) { self.oncancel = function() { return $parse($attrs.oncancel)($scope); }; @@ -892,6 +920,10 @@ angular.module('xeditable').factory('editableController', }; } + if ($attrs.popover) { + self.popover = self.attrs.popover; + } + // watch change of model to update editable element // now only add/remove `editable-empty` class. // Initially this method called with newVal = undefined, oldVal = undefined @@ -1001,6 +1033,13 @@ angular.module('xeditable').factory('editableController', self.editorEl.attr('blur', self.attrs.blur || editableOptions.blurElem); } + if (self.popover) { + var wrapper = angular.element('
    '); + wrapper.append(self.editorEl); + self.editorEl = wrapper; + $templateCache.put('popover.html', self.editorEl[0].outerHTML); + } + //apply `postrender` method of theme if (angular.isFunction(theme.postrender)) { theme.postrender.call(self); @@ -1026,7 +1065,7 @@ angular.module('xeditable').factory('editableController', /* Originally render() was inside init() method, but some directives polluting editorEl, - so it is broken on second openning. + so it is broken on second opening. Cloning is not a solution as jqLite can not clone with event handler's. */ self.render(); @@ -1058,6 +1097,10 @@ angular.module('xeditable').factory('editableController', self.editorEl.remove(); $element.removeClass('editable-hide'); + if (self.popover) { + $templateCache.remove('popover.html'); + } + // onhide return self.onhide(); }; diff --git a/starter/angular-xeditable/js/xeditable.min.js b/starter/angular-xeditable/js/xeditable.min.js index bb9616d1..1c06f958 100644 --- a/starter/angular-xeditable/js/xeditable.min.js +++ b/starter/angular-xeditable/js/xeditable.min.js @@ -1,7 +1,7 @@ /*! -angular-xeditable - 0.7.1 +angular-xeditable - 0.8.0 Edit-in-place for angular.js -Build date: 2017-04-24 +Build date: 2017-06-06 */ -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")}}),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){var m,n,o=this;o.scope=a,o.elem=d,o.attrs=c,o.inputEl=null,o.editorEl=null,o.single=!0,o.error="",o.theme=f[c.editableTheme]||f[h.theme]||f["default"],o.parent={};var p=c.editableTheme||h.theme||"default",q=c.editableIconSet||h.icon_set;o.icon_set="default"===q?g["default"][p]:g.external[q],o.inputTpl="",o.directiveName="",o.useCopy=!1,o.single=null,o.buttons="right",o.init=function(b){if(o.single=b,o.name=c.eName||c[o.directiveName],!c[o.directiveName])throw"You should provide value for `"+o.directiveName+"` in editable element!";m=e(c[o.directiveName]),o.single?o.buttons=o.attrs.buttons||h.buttons:o.buttons="no",c.eName&&o.scope.$watch("$data",function(a){o.scope.$form.$data[c.eName]=a}),c.onshow&&(o.onshow=function(){return o.catchError(e(c.onshow)(a))}),c.onhide&&(o.onhide=function(){return e(c.onhide)(a)}),c.oncancel&&(o.oncancel=function(){return e(c.oncancel)(a)}),c.onbeforesave&&(o.onbeforesave=function(){return o.catchError(e(c.onbeforesave)(a))}),c.onaftersave&&(o.onaftersave=function(){return o.catchError(e(c.onaftersave)(a))}),a.$parent.$watch(c[o.directiveName],function(a,b){o.setLocalValue(),o.handleEmpty()})},o.render=function(){var a=o.theme;o.inputEl=angular.element(o.inputTpl),o.controlsEl=angular.element(a.controlsTpl),o.controlsEl.append(o.inputEl),"no"!==o.buttons&&(o.buttonsEl=angular.element(a.buttonsTpl),o.submitEl=angular.element(a.submitTpl),o.resetEl=angular.element(a.resetTpl),o.cancelEl=angular.element(a.cancelTpl),o.submitEl.attr("title",h.submitButtonTitle),o.submitEl.attr("aria-label",h.submitButtonAriaLabel),o.cancelEl.attr("title",h.cancelButtonTitle),o.cancelEl.attr("aria-label",h.cancelButtonAriaLabel),o.resetEl.attr("title",h.clearButtonTitle),o.resetEl.attr("aria-label",h.clearButtonAriaLabel),o.icon_set&&(o.submitEl.find("span").addClass(o.icon_set.ok),o.cancelEl.find("span").addClass(o.icon_set.cancel),o.resetEl.find("span").addClass(o.icon_set.clear)),o.buttonsEl.append(o.submitEl).append(o.cancelEl),h.displayClearButton&&o.buttonsEl.append(o.resetEl),o.controlsEl.append(o.buttonsEl),o.inputEl.addClass("editable-has-buttons")),o.errorEl=angular.element(a.errorTpl),o.controlsEl.append(o.errorEl),o.editorEl=angular.element(o.single?a.formTpl:a.noformTpl),o.editorEl.append(o.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];o.inputEl.attr(e,j)}}o.inputEl.addClass("editable-input"),o.inputEl.attr("ng-model","$parent.$data"),o.editorEl.addClass(b.camelToDash(o.directiveName)),o.single&&(o.editorEl.attr("editable-form","$form"),o.editorEl.attr("blur",o.attrs.blur||h.blurElem)),angular.isFunction(a.postrender)&&a.postrender.call(o)},o.setLocalValue=function(){o.scope.$data=o.useCopy?angular.copy(m(a.$parent)):m(a.$parent)};var r=null;o.show=function(){return o.setLocalValue(),o.render(),d.after(o.editorEl),r=a.$new(),j(o.editorEl)(r),o.addListeners(),d.addClass("editable-hide"),o.onshow()},o.hide=function(){return r.$destroy(),o.controlsEl.remove(),o.editorEl.remove(),d.removeClass("editable-hide"),o.onhide()},o.cancel=function(){o.oncancel()},o.addListeners=function(){o.inputEl.bind("keyup",function(a){if(o.single)switch(a.keyCode){case 27:o.scope.$apply(function(){o.scope.$form.$cancel()})}}),o.single&&"no"===o.buttons&&o.autosubmit(),o.editorEl.bind("click",function(a){a.which&&1!==a.which||o.scope.$form.$visible&&(o.scope.$form._clicked=!0)})},o.setWaiting=function(a){a?(n=!o.inputEl.attr("disabled")&&!o.inputEl.attr("ng-disabled")&&!o.inputEl.attr("ng-enabled"),n&&(o.inputEl.attr("disabled","disabled"),o.buttonsEl&&o.buttonsEl.find("button").attr("disabled","disabled"))):n&&(o.inputEl.removeAttr("disabled"),o.buttonsEl&&o.buttonsEl.find("button").removeAttr("disabled"))},o.activate=function(a,b){setTimeout(function(){var c=o.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"==o.directiveName||"editableChecklist"==o.directiveName||"editableBsdate"==o.directiveName||"editableTagsInput"==o.directiveName?c.querySelector(".ng-pristine").focus():c.focus()):"select"===h.activate&&(c.select?c.select():c.focus&&c.focus())},0)},o.setError=function(b){angular.isObject(b)||(a.$error=l.trustAsHtml(b),o.error=b)},o.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},o.save=function(){m.assign(a.$parent,o.useCopy?angular.copy(o.scope.$data):o.scope.$data)},o.handleEmpty=function(){var b=m(a.$parent),c=null===b||void 0===b||""===b||angular.isArray(b)&&0===b.length;d.toggleClass("editable-empty",c)},o.autosubmit=angular.noop,o.onshow=angular.noop,o.onhide=angular.noop,o.oncancel=angular.noop,o.onbeforesave=angular.noop,o.onaftersave=angular.noop}return c.$inject=["$scope","$attrs","$element","$parse","editableThemes","editableIcons","editableOptions","$rootScope","$compile","$q","$sce"],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})}})}]),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 diff --git a/zip/angular-xeditable-0.8.0.zip b/zip/angular-xeditable-0.8.0.zip new file mode 100644 index 0000000000000000000000000000000000000000..0ccba62a3b7b42a5de06e0db1291912eed0cc91f GIT binary patch literal 38700 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ȑw=W(r5S;8mRt)3=;#lqq`= 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 VH8qbFUneJ{Hjj-MmiMpCe*g>Fj6VPX delta 37802 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 nL0@Epq3am{fUB3IQ;?X8zo&