UNPKG

graphdb-workbench

Version:
8 lines 38.6 kB
(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{217:function(e,t){var a; /*! angular-xeditable - 0.10.0 Edit-in-place for angular.js Build date: 2019-06-24 */ 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(e,t,a){var n=t.get("uibDatepickerConfig"),i=t.get("uibDatepickerPopupConfig"),r=[["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"],["eDatepickerTemplateUrl","datepicker-template-url"]],l=[["eFormatDay","formatDay"],["eFormatMonth","formatMonth"],["eFormatYear","formatYear"],["eFormatDayHeader","formatDayHeader"],["eFormatDayTitle","formatDayTitle"],["eFormatMonthTitle","formatMonthTitle"],["eMaxMode","maxMode"],["eMinMode","minMode"],["eDatepickerMode","datepickerMode"]];return e({directiveName:"editableBsdate",inputTpl:"<div></div>",render:function(){this.parent.render.call(this);var e=this.attrs,t=this.scope,o=angular.element('<input type="text" class="form-control" ng-model="$parent.$data"/>');o.attr("uib-datepicker-popup",e.eDatepickerPopupXEditable||i.datepickerPopup),o.attr("year-range",e.eYearRange||20),o.attr("ng-readonly",e.eReadonly||!1);for(var s=r.length-1;s>=0;s--){var u=e[r[s][0]];void 0!==u&&o.attr(r[s][1],u)}e.eNgChange&&(o.attr("ng-change",e.eNgChange),this.inputEl.removeAttr("ng-change")),e.eStyle&&(o.attr("style",e.eStyle),this.inputEl.removeAttr("style"));var c={maxDate:t.$eval(e.eMaxDate)||n.maxDate,minDate:t.$eval(e.eMinDate)||n.minDate,showWeeks:e.eShowWeeks?"true"===e.eShowWeeks.toLowerCase():n.showWeeks,startingDay:e.eStartingDay||0,initDate:t.$eval(e.eInitDate)||new Date};if(e.eDatepickerOptions){var d=a(e.eDatepickerOptions)(t);angular.extend(c,d)}for(var p=l.length-1;p>=0;p--){var h=e[l[p][0]];void 0!==h&&(c[l[p][1]]=h)}if(t.dateOptions=c,"true"===(angular.isDefined(e.eShowCalendarButton)?e.eShowCalendarButton:"true")){var m=angular.element('<button type="button" class="'+this.theme.calendarButtonClass+'"><i class="'+this.icon_set.calendar+'"></i></button>'),b=angular.element('<span class="'+this.theme.buttonGroupAppendClass+'"></span>');m.attr("ng-click",e.eNgClick),b.append(m),this.inputEl.append(b)}else o.attr("ng-click",e.eNgClick);o.attr("datepicker-options","dateOptions"),this.inputEl.prepend(o),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 e=this;e.inputEl.bind("change",(function(){setTimeout((function(){e.scope.$apply((function(){e.scope.$form.$submit()}))}),500)})),e.inputEl.bind("keydown",(function(t){9===t.keyCode&&"submit"===e.editorEl.attr("blur")&&e.scope.$apply((function(){e.scope.$form.$submit()}))}))}})}]),angular.module("xeditable").directive("editableBstime",["editableDirectiveFactory",function(e){return e({directiveName:"editableBstime",inputTpl:"<div uib-timepicker></div>",render:function(){this.parent.render.call(this);var e=angular.element('<div class="well well-small" style="display:inline-block;"></div>');e.attr("ng-model",this.inputEl.attr("ng-model")),this.inputEl.removeAttr("ng-model"),this.attrs.eNgChange&&(e.attr("ng-change",this.inputEl.attr("ng-change")),this.inputEl.removeAttr("ng-change")),this.inputEl.wrap(e)}})}]),angular.module("xeditable").directive("editableCheckbox",["editableDirectiveFactory",function(e){return e({directiveName:"editableCheckbox",inputTpl:'<input type="checkbox">',render:function(){this.parent.render.call(this),this.inputEl.wrap("<label></label>"),this.attrs.eTitle&&this.inputEl.parent().append("<span>"+this.attrs.eTitle+"</span>")},autosubmit:function(){var e=this;e.inputEl.bind("change",(function(){setTimeout((function(){e.scope.$apply((function(){e.scope.$form.$submit()}))}),500)}))}})}]),angular.module("xeditable").directive("editableChecklist",["editableDirectiveFactory","editableNgOptionsParser",function(e,t){return e({directiveName:"editableChecklist",inputTpl:"<span></span>",useCopy:!0,render:function(){this.parent.render.call(this);var e=t(this.attrs.eNgOptions),a="",n="",i="";this.attrs.eNgChange&&(a=' ng-change="'+this.attrs.eNgChange+'"'),this.attrs.eChecklistComparator&&(n=' checklist-comparator="'+this.attrs.eChecklistComparator+'"'),this.attrs.eNgDisabled&&(i=' ng-disabled="'+this.attrs.eNgDisabled+'"');var r='<label ng-repeat="'+e.ngRepeat+'"><input type="checkbox" checklist-model="$parent.$parent.$data" checklist-value="'+e.locals.valueFn+'"'+a+n+i+'><span ng-bind="'+e.locals.displayFn+'"></span></label>';this.inputEl.removeAttr("ng-model"),this.inputEl.removeAttr("ng-options"),this.inputEl.removeAttr("ng-change"),this.inputEl.removeAttr("checklist-comparator"),this.inputEl.html(r)}})}]),angular.module("xeditable").directive("editableCombodate",["editableDirectiveFactory","editableCombodate",function(e,t){return e({directiveName:"editableCombodate",inputTpl:'<input type="text">',render:function(){this.parent.render.call(this);var e={value:new Date(this.scope.$data)},a=this;angular.forEach(["format","template","minYear","maxYear","yearDescending","minuteStep","secondStep","firstItem","errorClass","customClass","roundTime","smartDays"],(function(t){var n="e"+t.charAt(0).toUpperCase()+t.slice(1);n in a.attrs&&(e[t]="minYear"==t||"maxYear"==t||"minuteStep"==t||"secondStep"==t?parseInt(a.attrs[n],10):a.attrs[n])}));var n=t.getInstance(this.inputEl,e);n.$widget.find("select").bind("change",(function(e){a.scope.$data=n.getValue()?moment(n.getValue(),n.options.format).toDate().toISOString():null})).change()}})}]),a="text|password|email|tel|number|url|search|color|date|datetime|datetime-local|time|month|week|file".split("|"),angular.forEach(a,(function(e){var t=function(e){return e.toLowerCase().replace(/-(.)/g,(function(e,t){return t.toUpperCase()}))}("editable-"+e);angular.module("xeditable").directive(t,["editableDirectiveFactory",function(a){return a({directiveName:t,inputTpl:'<input type="'+e+'">',render:function(){this.parent.render.call(this);var e=this.attrs;if(this.scope,e.eInputgroupleft||e.eInputgroupright){if(this.inputEl.wrap('<div class="input-group"></div>'),e.eInputgroupleft){var t=angular.element('<span class="input-group-addon" data-ng-bind="'+e.eInputgroupleft+'"></span>');this.inputEl.parent().prepend(t)}if(e.eInputgroupright){var a=angular.element('<span class="input-group-addon" data-ng-bind="'+e.eInputgroupright+'"></span>');this.inputEl.parent().append(a)}}if(e.eLabel){var n=angular.element("<label>"+e.eLabel+"</label>");e.eInputgroupleft||e.eInputgroupright?this.inputEl.parent().parent().prepend(n):this.inputEl.parent().prepend(n)}e.eFormclass&&(this.editorEl.addClass(e.eFormclass),this.inputEl.removeAttr("formclass"))},autosubmit:function(){var e=this;e.inputEl.bind("keydown",(function(t){9===t.keyCode&&"submit"===e.editorEl.attr("blur")&&e.scope.$apply((function(){e.scope.$form.$submit()}))}))}})}])})),angular.module("xeditable").directive("editableRange",["editableDirectiveFactory","$interpolate",function(e,t){return e({directiveName:"editableRange",inputTpl:'<input type="range" id="range" name="range">',render:function(){this.parent.render.call(this),this.inputEl.after("<output>"+t.startSymbol()+"$data"+t.endSymbol()+"</output>")}})}]),angular.module("xeditable").directive("editableTagsInput",["editableDirectiveFactory","editableUtils",function(e,t){var a=e({directiveName:"editableTagsInput",inputTpl:"<tags-input></tags-input>",useCopy:!0,render:function(){this.parent.render.call(this),this.inputEl.append(t.rename("auto-complete",this.attrs.$autoCompleteElement)),this.inputEl.removeAttr("ng-model"),this.inputEl.attr("ng-model","$parent.$data")}}),n=a.link;return a.link=function(e,t,a,i){var r=t.find("editable-tags-input-auto-complete");return a.$autoCompleteElement=r.clone(),r.remove(),n(e,t,a,i)},a}]),angular.module("xeditable").directive("editableRadiolist",["editableDirectiveFactory","editableNgOptionsParser","$interpolate",function(e,t,a){return e({directiveName:"editableRadiolist",inputTpl:"<span></span>",render:function(){this.parent.render.call(this);var e=t(this.attrs.eNgOptions),n="",i="";this.attrs.eNgChange&&(n=' ng-change="'+this.attrs.eNgChange+'"'),this.attrs.eName&&(i=' name="'+this.attrs.eName+'"');var r='<label data-ng-repeat="'+e.ngRepeat+'"><input type="radio" data-ng-disabled="::'+this.attrs.eNgDisabled+'" data-ng-model="$parent.$parent.$data" data-ng-value="'+a.startSymbol()+"::"+e.locals.valueFn+a.endSymbol()+'"'+n+i+'><span data-ng-bind="::'+e.locals.displayFn+'"></span></label>';this.inputEl.removeAttr("ng-model"),this.inputEl.removeAttr("ng-options"),this.inputEl.removeAttr("ng-change"),this.inputEl.html(r)},autosubmit:function(){var e=this;e.inputEl.bind("change",(function(){setTimeout((function(){e.scope.$apply((function(){e.scope.$form.$submit()}))}),500)}))}})}]),angular.module("xeditable").directive("editableSelect",["editableDirectiveFactory",function(e){return e({directiveName:"editableSelect",inputTpl:"<select></select>",render:function(){if(this.parent.render.call(this),this.attrs.ePlaceholder){var e=angular.element('<option value="">'+this.attrs.ePlaceholder+"</option>");this.inputEl.append(e)}},autosubmit:function(){var e=this;e.attrs.hasOwnProperty("eMultiple")||e.inputEl.bind("change",(function(){e.scope.$apply((function(){e.scope.$form.$submit()}))}))}})}]),angular.module("xeditable").directive("editableTextarea",["editableDirectiveFactory",function(e){return e({directiveName:"editableTextarea",inputTpl:"<textarea></textarea>",render:function(){this.parent.render.call(this),this.attrs.eFormclass&&(this.editorEl.addClass(this.attrs.eFormclass),this.inputEl.removeAttr("formclass"))},addListeners:function(){var e=this;e.parent.addListeners.call(e),e.single&&"no"!==e.buttons&&e.autosubmit()},autosubmit:function(){var e=this;e.inputEl.bind("keydown",(function(t){e.attrs.submitOnEnter?13!==t.keyCode||t.shiftKey||e.scope.$apply((function(){e.scope.$form.$submit()})):((t.ctrlKey||t.metaKey)&&13===t.keyCode||9===t.keyCode&&"submit"===e.editorEl.attr("blur"))&&e.scope.$apply((function(){e.scope.$form.$submit()}))}))}})}]),angular.module("xeditable").directive("editableUidate",["editableDirectiveFactory",function(e){return e({directiveName:"editableUidate",inputTpl:'<input class="form-control" />',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(e,t){var a=e({directiveName:"editableUiSelect",inputTpl:"<ui-select></ui-select>",render:function(){this.parent.render.call(this),this.inputEl.append(t.rename("ui-select-match",this.attrs.$matchElement)),this.inputEl.append(t.rename("ui-select-choices",this.attrs.$choicesElement)),this.inputEl.removeAttr("ng-model"),this.inputEl.attr("ng-model","$parent.$parent.$data")},autosubmit:function(){var e=this;e.inputEl.bind("change",(function(){setTimeout((function(){e.scope.$apply((function(){e.scope.$form.$submit()}))}),500)})),e.inputEl.bind("keydown",(function(t){9===t.keyCode&&"submit"===e.editorEl.attr("blur")&&e.scope.$apply((function(){e.scope.$form.$submit()}))}))}}),n=a.link;return a.link=function(e,t,a,i){var r=t.find("editable-ui-select-match"),l=t.find("editable-ui-select-choices");return a.$matchElement=r.clone(),a.$choicesElement=l.clone(),r.remove(),l.remove(),n(e,t,a,i)},a}]),angular.module("xeditable").factory("editableController",["$q","editableUtils",function(e,t){function a(e,a,n,i,r,l,o,s,u,c,d,p){var h,m,b=this;b.scope=e,b.elem=n,b.attrs=a,b.inputEl=null,b.editorEl=null,b.single=!0,b.error="",b.theme=r[a.editableTheme]||r[o.theme]||r.default,b.parent={};var f=a.editableTheme||o.theme||"default",g=a.editableIconSet||o.icon_set;b.icon_set="default"===g?l.default[f]:l.external[g],b.inputTpl="",b.directiveName="",b.useCopy=!1,b.single=null,b.buttons="right",b.popover=!1,b.init=function(t){if(b.single=t,b.name=a.eName||a[b.directiveName],!a[b.directiveName])throw"You should provide value for `"+b.directiveName+"` in editable element!";h=i(a[b.directiveName]),b.single?b.buttons=b.attrs.buttons||o.buttons:b.buttons="no",a.eName&&b.scope.$watch("$data",(function(e){b.scope.$form.$data[a.eName]=e})),a.onshow&&(b.onshow=function(){return b.catchError(i(a.onshow)(e))}),a.onhide&&(b.onhide=function(){return i(a.onhide)(e)}),a.oncancel&&(b.oncancel=function(){return i(a.oncancel)(e)}),a.onbeforesave&&(b.onbeforesave=function(){return b.catchError(i(a.onbeforesave)(e))}),a.onaftersave&&(b.onaftersave=function(){return b.catchError(i(a.onaftersave)(e))}),a.popover&&(b.popover=b.attrs.popover),e.$parent.$watch(a[b.directiveName],(function(e,t){b.setLocalValue(),b.handleEmpty()}))},b.render=function(){var e=b.theme;for(var n in b.inputEl=angular.element(b.inputTpl),b.controlsEl=angular.element(e.controlsTpl),b.controlsEl.append(b.inputEl),"no"!==b.buttons&&(b.buttonsEl=angular.element(e.buttonsTpl),b.submitEl=angular.element(e.submitTpl),b.resetEl=angular.element(e.resetTpl),b.cancelEl=angular.element(e.cancelTpl),b.submitEl.attr("title",o.submitButtonTitle),b.submitEl.attr("aria-label",o.submitButtonAriaLabel),b.cancelEl.attr("title",o.cancelButtonTitle),b.cancelEl.attr("aria-label",o.cancelButtonAriaLabel),b.resetEl.attr("title",o.clearButtonTitle),b.resetEl.attr("aria-label",o.clearButtonAriaLabel),b.icon_set&&(b.submitEl.find("span").addClass(b.icon_set.ok),b.cancelEl.find("span").addClass(b.icon_set.cancel),b.resetEl.find("span").addClass(b.icon_set.clear)),b.buttonsEl.append(b.submitEl).append(b.cancelEl),o.displayClearButton&&b.buttonsEl.append(b.resetEl),b.controlsEl.append(b.buttonsEl),b.inputEl.addClass("editable-has-buttons")),b.errorEl=angular.element(e.errorTpl),b.controlsEl.append(b.errorEl),b.editorEl=angular.element(b.single?e.formTpl:e.noformTpl),b.editorEl.append(b.controlsEl),a.$attr)if(!(n.length<=1)){var i=!1,r=n.substring(1,2);if("e"===n.substring(0,1)&&r===r.toUpperCase()&&("Form"!==(i=n.substring(1))&&"NgSubmit"!==i)){var l=i.substring(0,1),s=i.substring(1,2),u="value"!==(i=s===s.toUpperCase()&&l===l.toUpperCase()?l.toLowerCase()+"-"+t.camelToDash(i.substring(1)):l.toLowerCase()+t.camelToDash(i.substring(1)))&&""===a[n]?i:a[n];b.inputEl.attr(i,u)}}if(b.inputEl.addClass("editable-input"),b.inputEl.attr("ng-model","$parent.$data"),b.editorEl.addClass(t.camelToDash(b.directiveName)),b.single&&(b.editorEl.attr("editable-form","$form"),b.editorEl.attr("blur",b.attrs.blur||o.blurElem)),b.popover){var c=angular.element("<div></div>");c.append(b.editorEl),b.editorEl=c,p.put("popover.html",b.editorEl[0].outerHTML)}angular.isFunction(e.postrender)&&e.postrender.call(b)},b.setLocalValue=function(){b.scope.$data=b.useCopy?angular.copy(h(e.$parent)):h(e.$parent)};var v=null;b.show=function(){return b.setLocalValue(),b.render(),n.after(b.editorEl),v=e.$new(),u(b.editorEl)(v),b.addListeners(),n.addClass("editable-hide"),b.onshow()},b.hide=function(){return v.$destroy(),b.controlsEl.remove(),b.editorEl.remove(),n.removeClass("editable-hide"),b.popover&&p.remove("popover.html"),b.onhide()},b.cancel=function(){b.oncancel()},b.addListeners=function(){b.inputEl.bind("keyup",(function(e){if(b.single)switch(e.keyCode){case 27:b.scope.$apply((function(){b.scope.$form.$cancel()}))}})),b.single&&"no"===b.buttons&&b.autosubmit(),b.editorEl.bind("click",(function(e){e.which&&1!==e.which||b.scope.$form.$visible&&(b.scope.$form._clicked=!0)}))},b.setWaiting=function(e){e?(m=!b.inputEl.attr("disabled")&&!b.inputEl.attr("ng-disabled")&&!b.inputEl.attr("ng-enabled"))&&(b.inputEl.attr("disabled","disabled"),b.buttonsEl&&b.buttonsEl.find("button").attr("disabled","disabled")):m&&(b.inputEl.removeAttr("disabled"),b.buttonsEl&&b.buttonsEl.find("button").removeAttr("disabled"))},b.activate=function(e,t){setTimeout((function(){var a=b.inputEl[0];"focus"===o.activate&&a.focus?(void 0!==e&&""!==e&&a.setSelectionRange&&(t=t||e,a.onfocus=function(){setTimeout(function(){try{this.setSelectionRange(e,t)}catch(e){}}.bind(this))}),"editableRadiolist"==b.directiveName||"editableChecklist"==b.directiveName||"editableBsdate"==b.directiveName||"editableTagsInput"==b.directiveName?a.querySelector(".ng-pristine").focus():a.focus()):"select"===o.activate&&(a.select?a.select():a.focus&&a.focus())}),0)},b.setError=function(t){angular.isObject(t)||(e.$error=d.trustAsHtml(t),b.error=t)},b.catchError=function(e,t){return angular.isObject(e)&&!0!==t?c.when(e).then(angular.bind(this,(function(e){this.catchError(e,!0)})),angular.bind(this,(function(e){this.catchError(e,!0)}))):t&&angular.isObject(e)&&e.status&&200!==e.status&&e.data&&angular.isString(e.data)?(this.setError(e.data),e=e.data):angular.isString(e)&&this.setError(e),e},b.save=function(){h.assign(e.$parent,b.useCopy?angular.copy(b.scope.$data):b.scope.$data)},b.handleEmpty=function(){var t=h(e.$parent),a=null==t||""===t||angular.isArray(t)&&0===t.length;n.toggleClass("editable-empty",a)},b.autosubmit=angular.noop,b.onshow=angular.noop,b.onhide=angular.noop,b.oncancel=angular.noop,b.onbeforesave=angular.noop,b.onaftersave=angular.noop}return a.$inject=["$scope","$attrs","$element","$parse","editableThemes","editableIcons","editableOptions","$rootScope","$compile","$q","$sce","$templateCache"],a}]),angular.module("xeditable").factory("editableDirectiveFactory",["$parse","$compile","editableThemes","$rootScope","$document","editableController","editableFormController","editableOptions",function(e,t,a,n,i,r,l,o){return function(t){return{restrict:"A",scope:!0,require:[t.directiveName,"?^form"],controller:r,link:function(a,r,s,u){var c,d=u[0],p=!1;if(u[1])c=u[1],p=void 0===s.eSingle;else if(s.eForm){var h=e(s.eForm)(a);if(h)c=h,p=!0;else if(r&&"function"==typeof r.parents&&r.parents().last().find('form[name="'+s.eForm+'"]').length)c=null,p=!0;else for(var m=0;m<i[0].forms.length;m++)if(i[0].forms[m].name===s.eForm){c=null,p=!0;break}}angular.forEach(t,(function(e,t){void 0!==d[t]&&(d.parent[t]=d[t])})),angular.extend(d,t);if(d.init(!p),a.$editable=d,r.addClass("editable"),p)if(c){if(a.$form=c,!a.$form.$addEditable)throw"Form with editable elements should have `editable-form` attribute.";a.$form.$addEditable(d)}else n.$$editableBuffer=n.$$editableBuffer||{},n.$$editableBuffer[s.eForm]=n.$$editableBuffer[s.eForm]||[],n.$$editableBuffer[s.eForm].push(d),a.$form=null;else a.$form=l(),a.$form.$addEditable(d),s.eForm&&(e(s.eForm).assign||angular.noop)(a.$parent,a.$form),(!s.eForm||s.eClickable)&&(r.addClass("editable-click"),r.bind(o.activationEvent,(function(e){e.preventDefault(),e.editable=d,(angular.isDefined(s.editDisabled)?a.$eval(s.editDisabled):o.isDisabled)||a.$apply((function(){a.$form.$show()}))})))}}}}]),angular.module("xeditable").factory("editableFormController",["$parse","$document","$rootScope","editablePromiseCollection","editableUtils",function(e,t,a,n,i){var r=[],l=function(e,t){var a=!0,n=e.$editables;return angular.forEach(n,(function(e){(function(e,t){if(t==e)return!0;for(var a=t.parentNode;null!==a;){if(a==e)return!0;a=a.parentNode}return!1})(e.editorEl[0],t.target)&&(a=!1)})),a};t.bind("click",(function(e){if(!e.which||1===e.which){for(var t=[],n=[],i=0;i<r.length;i++)r[i]._clicked?r[i]._clicked=!1:r[i].$waiting||("cancel"===r[i]._blur&&l(r[i],e)&&t.push(r[i]),"submit"===r[i]._blur&&l(r[i],e)&&n.push(r[i]));(t.length||n.length)&&a.$apply((function(){angular.forEach(t,(function(e){e.$cancel()})),angular.forEach(n,(function(e){e.$submit()}))}))}})),a.$on("closeEdit",(function(){for(var e=0;e<r.length;e++)r[e].$hide()}));var o={$addEditable:function(e){this.$editables.push(e),e.elem.bind("$destroy",angular.bind(this,this.$removeEditable,e)),e.scope.$form||(e.scope.$form=this),this.$visible&&e.catchError(e.show()),e.catchError(e.setWaiting(this.$waiting))},$removeEditable:function(e){for(var t=0;t<this.$editables.length;t++)if(this.$editables[t]===e)return void this.$editables.splice(t,1)},$show:function(){if(!this.$visible){this.$visible=!0;var e=n();e.when(this.$onshow()),this.$setError(null,""),angular.forEach(this.$editables,(function(t){e.when(t.show())})),e.then({onWait:angular.bind(this,this.$setWaiting),onTrue:angular.bind(this,this.$activate),onFalse:angular.bind(this,this.$activate),onString:angular.bind(this,this.$activate)}),setTimeout(angular.bind(this,(function(){this._clicked=!1,-1===i.indexOf(r,this)&&r.push(this)})),0)}},$activate:function(e){var t,a,n;if(this.$editables.length){if(angular.isString(e))for(t=0;t<this.$editables.length;t++)if(this.$editables[t].name===e)return void this.$editables[t].activate();for(t=0;t<this.$editables.length;t++)if(this.$editables[t].error)return void this.$editables[t].activate();a=this.$editables[0].elem[0].selectionStart?this.$editables[0].elem[0].selectionStart:this.$editables[0].elem[0].text?this.$editables[0].elem[0].text.length:this.$editables[0].elem[0].innerHTML?this.$editables[0].elem[0].innerHTML.length:0,n=this.$editables[0].elem[0].selectionEnd?this.$editables[0].elem[0].selectionEnd:this.$editables[0].elem[0].text?this.$editables[0].elem[0].text.length:this.$editables[0].elem[0].innerHTML?this.$editables[0].elem[0].innerHTML.length:0,this.$editables[0].activate(a,n)}},$hide:function(){this.$visible&&(this.$visible=!1,this.$onhide(),angular.forEach(this.$editables,(function(e){e.hide()})),i.arrayRemove(r,this))},$cancel:function(){this.$visible&&(this.$oncancel(),angular.forEach(this.$editables,(function(e){e.cancel()})),this.$hide())},$setWaiting:function(e){this.$waiting=!!e,angular.forEach(this.$editables,(function(t){t.setWaiting(!!e)}))},$setError:function(e,t){angular.forEach(this.$editables,(function(a){e&&a.name!==e||a.setError(t)}))},$submit:function(){function e(e){var t=n();t.when(this.$onbeforesave()),t.then({onWait:angular.bind(this,this.$setWaiting),onTrue:e?angular.bind(this,this.$save):angular.bind(this,this.$hide),onFalse:angular.bind(this,this.$hide),onString:angular.bind(this,this.$activate)})}if(!this.$waiting){this.$setError(null,"");var t=n();angular.forEach(this.$editables,(function(e){t.when(e.onbeforesave())})),t.then({onWait:angular.bind(this,this.$setWaiting),onTrue:angular.bind(this,e,!0),onFalse:angular.bind(this,e,!1),onString:angular.bind(this,this.$activate)})}},$save:function(){angular.forEach(this.$editables,(function(e){e.save()}));var e=n();e.when(this.$onaftersave()),angular.forEach(this.$editables,(function(t){e.when(t.onaftersave())})),e.then({onWait:angular.bind(this,this.$setWaiting),onTrue:angular.bind(this,this.$hide),onFalse:angular.bind(this,this.$hide),onString:angular.bind(this,this.$activate)})},$onshow:angular.noop,$oncancel:angular.noop,$onhide:angular.noop,$onbeforesave:angular.noop,$onaftersave:angular.noop};return function(){return angular.extend({$editables:[],$visible:!1,$waiting:!1,$data:{},_clicked:!1,_blur:null},o)}}]),angular.module("xeditable").directive("editableForm",["$rootScope","$parse","editableFormController","editableOptions",function(e,t,a,n){return{restrict:"A",require:["form"],compile:function(){return{pre:function(t,n,i,r){var l,o=r[0];i.editableForm?t[i.editableForm]&&t[i.editableForm].$show?(l=t[i.editableForm],angular.extend(o,l)):(l=a(),t[i.editableForm]=l,angular.extend(l,o)):(l=a(),angular.extend(o,l));var s=e.$$editableBuffer,u=o.$name;u&&s&&s[u]&&(angular.forEach(s[u],(function(e){l.$addEditable(e)})),delete s[u])},post:function(e,a,i,r){var l;l=i.editableForm&&e[i.editableForm]&&e[i.editableForm].$show?e[i.editableForm]:r[0],i.onshow&&(l.$onshow=angular.bind(l,t(i.onshow),e)),i.onhide&&(l.$onhide=angular.bind(l,t(i.onhide),e)),i.oncancel&&(l.$oncancel=angular.bind(l,t(i.oncancel),e)),i.shown&&t(i.shown)(e)&&l.$show(),l._blur=i.blur||n.blurForm,i.ngSubmit||i.submit||(i.onbeforesave&&(l.$onbeforesave=function(){return t(i.onbeforesave)(e,{$data:l.$data})}),i.onaftersave&&(l.$onaftersave=function(){return t(i.onaftersave)(e,{$data:l.$data})}),a.bind("submit",(function(t){t.preventDefault(),e.$apply((function(){l.$submit()}))}))),a.bind("click",(function(e){e.which&&1!==e.which||l.$visible&&(l._clicked=!0)}))}}}}}]),angular.module("xeditable").factory("editablePromiseCollection",["$q",function(e){return function(){return{promises:[],hasFalse:!1,hasString:!1,when:function(t,a){if(!1===t)this.hasFalse=!0;else if(!a&&angular.isObject(t))this.promises.push(e.when(t));else{if(!angular.isString(t))return;this.hasString=!0}},then:function(t){function a(){o.hasString||o.hasFalse?!o.hasString&&o.hasFalse?i():r():n()}var n=(t=t||{}).onTrue||angular.noop,i=t.onFalse||angular.noop,r=t.onString||angular.noop,l=t.onWait||angular.noop,o=this;this.promises.length?(l(!0),e.all(this.promises).then((function(e){l(!1),angular.forEach(e,(function(e){o.when(e,!0)})),a()}),(function(e){l(!1),r()}))):a()}}}}]),angular.module("xeditable").factory("editableUtils",[function(){return{indexOf:function(e,t){if(e.indexOf)return e.indexOf(t);for(var a=0;a<e.length;a++)if(t===e[a])return a;return-1},arrayRemove:function(e,t){var a=this.indexOf(e,t);return a>=0&&e.splice(a,1),t},camelToDash:function(e){return e.replace(/[A-Z]/g,(function(e,t){return(t?"-":"")+e.toLowerCase()}))},dashToCamel:function(e){return e.replace(/([\:\-\_]+(.))/g,(function(e,t,a,n){return n?a.toUpperCase():a})).replace(/^moz([A-Z])/,"Moz$1")},rename:function(e,t){if(t[0]&&t[0].attributes){var a=angular.element("<"+e+"/>");a.html(t.html());for(var n=t[0].attributes,i=0;i<n.length;++i)a.attr(n.item(i).nodeName,n.item(i).value);return a}}}}]),angular.module("xeditable").factory("editableNgOptionsParser",[function(){var e=/^\s*(.*?)(?:\s+as\s+(.*?))?(?:\s+group\s+by\s+(.*))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+(.*?)(?:\s+track\s+by\s+(.*?))?$/;return function(t){var a;if(!(a=t.match(e)))throw"ng-options parse error";var n,i=a[2]||a[1],r=a[4]||a[6],l=a[5],o=(a[3],a[2]?a[1]:r),s=a[7],u=a[8],c=u?a[8]:null;return void 0===l?(n=r+" in "+s,void 0!==u&&(n+=" track by "+c)):n="("+l+", "+r+") in "+s,{ngRepeat:n,locals:{valueName:r,keyName:l,valueFn:o,displayFn:i}}}}]),angular.module("xeditable").factory("editableCombodate",[function(){function e(e,t){if(this.$element=angular.element(e),"INPUT"!=this.$element[0].nodeName)throw"Combodate should be applied to INPUT element";var a=(new Date).getFullYear();this.defaults={format:"YYYY-MM-DD HH:mm",template:"D / MMM / YYYY H : mm",value:null,minYear:1970,maxYear:a,yearDescending:!0,minuteStep:5,secondStep:1,firstItem:"empty",errorClass:null,customClass:"",roundTime:!0,smartDays:!0},this.options=angular.extend({},this.defaults,t),this.init()}return e.prototype={constructor:e,init:function(){if(this.map={day:["D","date"],month:["M","month"],year:["Y","year"],hour:["[Hh]","hours"],minute:["m","minutes"],second:["s","seconds"],ampm:["[Aa]",""]},this.$widget=angular.element('<span class="combodate"></span>').html(this.getTemplate()),this.initCombos(),this.options.smartDays){var e=this;this.$widget.find("select").bind("change",(function(t){(angular.element(t.target).hasClass("month")||angular.element(t.target).hasClass("year"))&&e.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 e=this.options.template,t=this.options.customClass;return angular.forEach(this.map,(function(t,a){t=t[0];var n=new RegExp(t+"+"),i=t.length>1?t.substring(1,2):t;e=e.replace(n,"{"+i+"}")})),e=e.replace(/ /g,"&nbsp;"),angular.forEach(this.map,(function(a,n){var i=(a=a[0]).length>1?a.substring(1,2):a;e=e.replace("{"+i+"}",'<select class="'+n+" "+t+'"></select>')})),e},initCombos:function(){for(var e in this.map){var t=this.$widget[0].querySelectorAll("."+e);this["$"+e]=t.length?angular.element(t):null,this.fillCombo(e)}},fillCombo:function(e){var t=this["$"+e];if(t){var a=this["fill"+e.charAt(0).toUpperCase()+e.slice(1)](),n=t.val();t.html("");for(var i=0;i<a.length;i++)t.append('<option value="'+a[i][0]+'">'+a[i][1]+"</option>");t.val(n)}},fillCommon:function(e){var t,a=[];if("name"===this.options.firstItem){var n="function"==typeof(t=moment.relativeTime||moment.langData()._relativeTime)[e]?t[e](1,!0,e,!1):t[e];n=n.split(" ").reverse()[0],a.push(["",n])}else"empty"===this.options.firstItem&&a.push(["",""]);return a},fillDay:function(){var e,t,a=this.fillCommon("d"),n=-1!==this.options.template.indexOf("DD"),i=31;if(this.options.smartDays&&this.$month&&this.$year){var r=parseInt(this.$month.val(),10),l=parseInt(this.$year.val(),10);isNaN(r)||isNaN(l)||(i=moment([l,r]).daysInMonth())}for(t=1;i>=t;t++)e=n?this.leadZero(t):t,a.push([t,e]);return a},fillMonth:function(){var e,t,a=this.fillCommon("M"),n=-1!==this.options.template.indexOf("MMMM"),i=-1!==this.options.template.indexOf("MMM"),r=-1!==this.options.template.indexOf("MM");for(t=0;11>=t;t++)e=n?moment().date(1).month(t).format("MMMM"):i?moment().date(1).month(t).format("MMM"):r?this.leadZero(t+1):t+1,a.push([t,e]);return a},fillYear:function(){var e,t,a=[],n=-1!==this.options.template.indexOf("YYYY");for(t=this.options.maxYear;t>=this.options.minYear;t--)e=n?t:(t+"").substring(2),a[this.options.yearDescending?"push":"unshift"]([t,e]);return this.fillCommon("y").concat(a)},fillHour:function(){var e,t,a=this.fillCommon("h"),n=-1!==this.options.template.indexOf("h"),i=(this.options.template.indexOf("H"),-1!==this.options.template.toLowerCase().indexOf("hh")),r=n?12:23;for(t=n?1:0;r>=t;t++)e=i?this.leadZero(t):t,a.push([t,e]);return a},fillMinute:function(){var e,t,a=this.fillCommon("m"),n=-1!==this.options.template.indexOf("mm");for(t=0;59>=t;t+=this.options.minuteStep)e=n?this.leadZero(t):t,a.push([t,e]);return a},fillSecond:function(){var e,t,a=this.fillCommon("s"),n=-1!==this.options.template.indexOf("ss");for(t=0;59>=t;t+=this.options.secondStep)e=n?this.leadZero(t):t,a.push([t,e]);return a},fillAmpm:function(){var e=-1!==this.options.template.indexOf("a");return this.options.template.indexOf("A"),[["am",e?"am":"AM"],["pm",e?"pm":"PM"]]},getValue:function(e){var t,a={},n=this,i=!1;return angular.forEach(this.map,(function(e,t){if("ampm"!==t){var r="day"===t?1:0;return a[t]=n["$"+t]?parseInt(n["$"+t].val(),10):r,isNaN(a[t])?(i=!0,!1):void 0}})),i?"":(this.$ampm&&(12===a.hour?a.hour="am"===this.$ampm.val()?0:12:a.hour="am"===this.$ampm.val()?a.hour:a.hour+12),t=moment([a.year,a.month,a.day,a.hour,a.minute,a.second]),this.highlight(t),null===(e=void 0===e?this.options.format:e)?t.isValid()?t:null:t.isValid()?t.format(e):"")},setValue:function(e){function t(e,t){var a={};return angular.forEach(e.children("option"),(function(e,n){var i=angular.element(e).attr("value");if(""!==i){var r=Math.abs(i-t);(void 0===a.distance||r<a.distance)&&(a={value:i,distance:r})}})),a.value}if(e){var a="string"==typeof e?moment(e,this.options.format,!0):moment(e),n=this,i={};a.isValid()&&(angular.forEach(this.map,(function(e,t){"ampm"!==t&&(i[t]=a[e[1]]())})),this.$ampm&&(i.hour>=12?(i.ampm="pm",i.hour>12&&(i.hour-=12)):(i.ampm="am",0===i.hour&&(i.hour=12))),angular.forEach(i,(function(e,a){n["$"+a]&&("minute"===a&&n.options.minuteStep>1&&n.options.roundTime&&(e=t(n["$"+a],e)),"second"===a&&n.options.secondStep>1&&n.options.roundTime&&(e=t(n["$"+a],e)),n["$"+a].val(e))})),this.options.smartDays&&this.fillCombo("day"),this.$element.val(a.format(this.options.format)).triggerHandler("change"))}},highlight:function(e){e.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(e){return 9>=e?"0"+e:e},destroy:function(){this.$widget.remove(),this.$element.removeData("combodate").show()}},{getInstance:function(t,a){return new e(t,a)}}}]),angular.module("xeditable").factory("editableIcons",(function(){return{default:{bs2:{ok:"icon-ok icon-white",cancel:"icon-remove",clear:"icon-trash",calendar:"icon-calendar"},bs3:{ok:"glyphicon glyphicon-ok",cancel:"glyphicon glyphicon-remove",clear:"glyphicon glyphicon-trash",calendar:"glyphicon glyphicon-calendar"},bs4:{ok:"fa fa-check",cancel:"fa fa-times",clear:"fa fa-trash",calendar:"fa fa-calendar"}},external:{"font-awesome":{ok:"fa fa-check",cancel:"fa fa-times",clear:"fa fa-trash",calendar:"fa fa-calendar"}}}})),angular.module("xeditable").factory("editableThemes",(function(){return{default:{formTpl:'<form class="editable-wrap"></form>',noformTpl:'<span class="editable-wrap"></span>',controlsTpl:'<span class="editable-controls"></span>',inputTpl:"",errorTpl:'<div class="editable-error" data-ng-if="$error" data-ng-bind-html="$error"></div>',buttonsTpl:'<span class="editable-buttons"></span>',submitTpl:'<button type="submit">save</button>',cancelTpl:'<button type="button" ng-click="$form.$cancel()">cancel</button>',resetTpl:'<button type="reset">clear</button>'},bs2:{formTpl:'<form class="form-inline editable-wrap" role="form"></form>',noformTpl:'<span class="editable-wrap"></span>',controlsTpl:'<div class="editable-controls controls control-group" ng-class="{\'error\': $error}"></div>',inputTpl:"",errorTpl:'<div class="editable-error help-block" data-ng-if="$error" data-ng-bind-html="$error"></div>',buttonsTpl:'<span class="editable-buttons"></span>',submitTpl:'<button type="submit" class="btn btn-primary"><span></span></button>',cancelTpl:'<button type="button" class="btn" ng-click="$form.$cancel()"><span></span></button>',resetTpl:'<button type="reset" class="btn btn-danger">clear</button>',calendarButtonClass:"btn",buttonGroupAppendClass:"input-append"},bs3:{formTpl:'<form class="form-inline editable-wrap" role="form"></form>',noformTpl:'<span class="editable-wrap"></span>',controlsTpl:'<div class="editable-controls form-group" ng-class="{\'has-error\': $error}"></div>',inputTpl:"",errorTpl:'<div class="editable-error help-block" data-ng-if="$error" data-ng-bind-html="$error"></div>',buttonsTpl:'<span class="editable-buttons"></span>',submitTpl:'<button type="submit" class="btn btn-primary"><span></span></button>',cancelTpl:'<button type="button" class="btn btn-default" ng-click="$form.$cancel()"><span></span></button>',resetTpl:'<button type="reset" class="btn btn-danger">clear</button>',buttonsClass:"",inputClass:"",calendarButtonClass:"btn btn-default",buttonGroupAppendClass:"input-group-btn",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)}},bs4:{formTpl:'<form class="form-inline editable-wrap" role="form"></form>',noformTpl:'<span class="editable-wrap"></span>',controlsTpl:'<div class="editable-controls form-group"></div>',inputTpl:"",errorTpl:'<div class="editable-error form-text invalid-feedback" data-ng-if="$error" data-ng-bind-html="$error"></div>',buttonsTpl:'<span class="editable-buttons"></span>',submitTpl:'<button type="submit" class="btn btn-primary"><span></span></button>',cancelTpl:'<button type="button" class="btn btn-secondary" ng-click="$form.$cancel()"><span></span></button>',resetTpl:'<button type="reset" class="btn btn-danger">clear</button>',buttonsClass:"",inputClass:"",calendarButtonClass:"btn btn-secondary",buttonGroupAppendClass:"input-group-append",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.inputEl.attr("ng-class","{'is-invalid': $error}"),this.theme.inputClass){if(this.inputEl.attr("multiple")&&("form-control-sm"===this.theme.inputClass||"form-control-lg"===this.theme.inputClass))break;this.inputEl.addClass(this.theme.inputClass)}break;case"editableCheckbox":this.editorEl.addClass("form-check")}this.buttonsEl&&this.theme.buttonsClass&&this.buttonsEl.find("button").addClass(this.theme.buttonsClass)}},semantic:{formTpl:'<form class="editable-wrap ui form" ng-class="{\'error\': $error}" role="form"></form>',noformTpl:'<span class="editable-wrap"></span>',controlsTpl:'<div class="editable-controls ui fluid input" ng-class="{\'error\': $error}"></div>',inputTpl:"",errorTpl:'<div class="editable-error ui error message" data-ng-if="$error" data-ng-bind-html="$error"></div>',buttonsTpl:'<span class="mini ui buttons"></span>',submitTpl:'<button type="submit" class="ui primary button"><i class="ui check icon"></i></button>',cancelTpl:'<button type="button" class="ui button" ng-click="$form.$cancel()"><i class="ui cancel icon"></i></button>',resetTpl:'<button type="reset" class="ui button">clear</button>'}}}))}}]); //# sourceMappingURL=6.e149780063c4dfb1dabf.bundle.js.map