X-Git-Url: http://repos.xcallymotion.com/?a=blobdiff_plain;f=public%2Fbower_components%2Fangular-xeditable%2Fxeditable.js;h=cde698bea102220b2e6ad2adcce220fe3b60d59a;hb=221ba7c2ffc043570bbad1e8f0d6074fb4ff1fb0;hp=2bc855e5e5208345710924c5d8157d258f78d5f1;hpb=5d92478b1cb7479f39a43973775a6f6147fba8ac;p=motion.git diff --git a/public/bower_components/angular-xeditable/xeditable.js b/public/bower_components/angular-xeditable/xeditable.js index 2bc855e..cde698b 100644 --- a/public/bower_components/angular-xeditable/xeditable.js +++ b/public/bower_components/angular-xeditable/xeditable.js @@ -1,7 +1,7 @@ /*! -angular-xeditable - 0.1.12 +angular-xeditable - 0.1.9 Edit-in-place for angular.js -Build date: 2016-04-14 +Build date: 2015-03-26 */ /** * Angular-xeditable module @@ -82,76 +82,63 @@ angular.module('xeditable', []) }); /* - Angular-ui bootstrap datepicker - http://angular-ui.github.io/bootstrap/#/datepicker - */ +Angular-ui bootstrap datepicker +http://angular-ui.github.io/bootstrap/#/datepicker +*/ angular.module('xeditable').directive('editableBsdate', ['editableDirectiveFactory', - function(editableDirectiveFactory) { - return editableDirectiveFactory({ - directiveName: 'editableBsdate', - inputTpl: '
', - render: function() { - /** This basically renders a datepicker as in the example shown in - ** http://angular-ui.github.io/bootstrap/#/datepicker - ** The attributes are all the same as in the bootstrap-ui datepicker with e- as prefix - **/ - this.parent.render.call(this); - - var inputDatePicker = angular.element(''); - var buttonDatePicker = angular.element(''); - var buttonWrapper = angular.element(''); - - inputDatePicker.attr('uib-datepicker-popup', this.attrs.eDatepickerPopupXEditable || 'yyyy/MM/dd' ); - inputDatePicker.attr('is-open', this.attrs.eIsOpen); - inputDatePicker.attr('date-disabled', this.attrs.eDateDisabled); - inputDatePicker.attr('uib-datepicker-popup', this.attrs.eDatepickerPopup); - inputDatePicker.attr('min-date', this.attrs.eMinDate); - inputDatePicker.attr('max-date', this.attrs.eMaxDate); - inputDatePicker.attr('year-range', this.attrs.eYearRange || 20); - inputDatePicker.attr('show-button-bar', this.attrs.eShowButtonBar || true); - inputDatePicker.attr('current-text', this.attrs.eCurrentText || 'Today'); - inputDatePicker.attr('clear-text', this.attrs.eClearText || 'Clear'); - inputDatePicker.attr('close-text', this.attrs.eCloseText || 'Done'); - inputDatePicker.attr('close-on-date-selection', this.attrs.eCloseOnDateSelection || true); - inputDatePicker.attr('datepicker-append-to-body', this.attrs.eDatePickerAppendToBody || false); - inputDatePicker.attr('date-disabled', this.attrs.eDateDisabled); - inputDatePicker.attr('name', this.attrs.eName); - - this.scope.dateOptions = { - formatDay: this.attrs.eFormatDay || 'dd', - formatMonth: this.attrs.eFormatMonth || 'MMMM', - formatYear: this.attrs.eFormatYear || 'yyyy', - formatDayHeader: this.attrs.eFormatDayHeader || 'EEE', - formatDayTitle: this.attrs.eFormatDayTitle || 'MMMM yyyy', - formatMonthTitle: this.attrs.eFormatMonthTitle || 'yyyy', - showWeeks: this.attrs.eShowWeeks ? this.attrs.eShowWeeks.toLowerCase() === 'true' : true, - startingDay: this.attrs.eStartingDay || 0, - minMode: this.attrs.eMinMode || 'day', - maxMode: this.attrs.eMaxMode || 'year', - initDate: this.attrs.eInitDate || new Date(), - datepickerMode: this.attrs.eDatepickerMode || 'day' - }; - - inputDatePicker.attr('datepicker-options', "dateOptions"); - - buttonDatePicker.attr('ng-click',this.attrs.eNgClick); - - buttonWrapper.append(buttonDatePicker); - this.inputEl.prepend(inputDatePicker); - this.inputEl.append(buttonWrapper); - - 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'); - } - }); + function(editableDirectiveFactory) { + return editableDirectiveFactory({ + directiveName: 'editableBsdate', + inputTpl: '
', + render: function() { + /** This basically renders a datepicker as in the example shown in + ** http://angular-ui.github.io/bootstrap/#/datepicker + ** The attributes are all the same as in the bootstrap-ui datepicker with e- as prefix + **/ + this.parent.render.call(this); + + var inputDatePicker = angular.element(''); + var buttonDatePicker = angular.element(''); + var buttonWrapper = angular.element(''); + + inputDatePicker.attr('datepicker-popup', this.attrs.eDatepickerPopupXEditable || 'yyyy/MM/dd' ); + inputDatePicker.attr('is-open', this.attrs.eIsOpen); + inputDatePicker.attr('date-disabled', this.attrs.eDateDisabled); + inputDatePicker.attr('datepicker-popup', this.attrs.eDatepickerPopup); + inputDatePicker.attr('datepicker-mode', this.attrs.eDatepickerMode || 'day'); + inputDatePicker.attr('min-date', this.attrs.eMinDate); + inputDatePicker.attr('max-date', this.attrs.eMaxDate); + inputDatePicker.attr('show-weeks', this.attrs.eShowWeeks || true); + inputDatePicker.attr('starting-day', this.attrs.eStartingDay || 0); + inputDatePicker.attr('init-date', this.attrs.eInitDate || new Date()); + inputDatePicker.attr('min-mode', this.attrs.eMinMode || 'day'); + inputDatePicker.attr('max-mode', this.attrs.eMaxMode || 'year'); + inputDatePicker.attr('format-day', this.attrs.eFormatDay || 'dd'); + inputDatePicker.attr('format-month', this.attrs.eFormatMonth || 'MMMM'); + inputDatePicker.attr('format-year', this.attrs.eFormatYear || 'yyyy'); + inputDatePicker.attr('format-day-header', this.attrs.eFormatDayHeader || 'EEE'); + inputDatePicker.attr('format-day-title', this.attrs.eFormatDayTitle || 'MMMM yyyy'); + inputDatePicker.attr('format-month-title', this.attrs.eFormatMonthTitle || 'yyyy'); + inputDatePicker.attr('year-range', this.attrs.eYearRange || 20); + inputDatePicker.attr('show-button-bar', this.attrs.eShowButtonBar || true); + inputDatePicker.attr('current-text', this.attrs.eCurrentText || 'Today'); + inputDatePicker.attr('clear-text', this.attrs.eClearText || 'Clear'); + inputDatePicker.attr('close-text', this.attrs.eCloseText || 'Done'); + inputDatePicker.attr('close-on-date-selection', this.attrs.eCloseOnDateSelection || true); + inputDatePicker.attr('date-picker-append-to-body', this.attrs.eDatePickerAppendToBody || false); + inputDatePicker.attr('date-disabled', this.attrs.eDateDisabled); + + buttonDatePicker.attr('ng-click',this.attrs.eNgClick); + + buttonWrapper.append(buttonDatePicker); + this.inputEl.prepend(inputDatePicker); + this.inputEl.append(buttonWrapper); + + this.inputEl.removeAttr('class'); + this.inputEl.attr('class','input-group'); + + } + }); }]); /* Angular-ui bootstrap editable timepicker @@ -161,7 +148,7 @@ angular.module('xeditable').directive('editableBstime', ['editableDirectiveFacto function(editableDirectiveFactory) { return editableDirectiveFactory({ directiveName: 'editableBstime', - inputTpl: '', + inputTpl: '', render: function() { this.parent.render.call(this); @@ -241,20 +228,9 @@ angular.module('xeditable').directive('editableCombodate', ['editableDirectiveFa inputTpl: '', render: function() { this.parent.render.call(this); + var combodate = editableCombodate.getInstance(this.inputEl, {value: new Date(this.scope.$data)}); - var options = { - value: new Date(this.scope.$data) - }; var self = this; - angular.forEach(["format", "template", "minYear", "maxYear", "yearDescending", "minuteStep", "secondStep", "firstItem", "errorClass", "customClass", "roundTime", "smartDays"], function(name) { - - var attrName = "e" + name.charAt(0).toUpperCase() + name.slice(1); - if (attrName in self.attrs) { - options[name] = self.attrs[attrName]; - } - }); - - var combodate = editableCombodate.getInstance(this.inputEl, options); combodate.$widget.find('select').bind('change', function(e) { self.scope.$data = (new Date(combodate.getValue())).toISOString(); }); @@ -262,7 +238,6 @@ angular.module('xeditable').directive('editableCombodate', ['editableDirectiveFa }); } ]); - /* Input types: text|email|tel|number|url|search|color|date|datetime|time|month|week */ @@ -376,53 +351,6 @@ angular.module('xeditable').directive('editableTextarea', ['editableDirectiveFac }); }]); -/* - AngularJS-native version of Select2 and Selectize - https://github.com/angular-ui/ui-select - */ -angular.module('xeditable').directive('editableUiSelect',['editableDirectiveFactory', - function(editableDirectiveFactory) { - var rename = function (tag, el) { - var newEl = angular.element('<' + tag + '/>'); - newEl.html(el.html()); - var attrs = el[0].attributes; - for (var i = 0; i < attrs.length; ++i) { - newEl.attr(attrs.item(i).nodeName, attrs.item(i).value); - } - return newEl; - }; - - var match = null; - var choices = null; - var dir = editableDirectiveFactory({ - directiveName: 'editableUiSelect', - inputTpl: '', - render: function () { - this.parent.render.call(this); - this.inputEl.append(rename('ui-select-match', match)); - this.inputEl.append(rename('ui-select-choices', choices)); - this.inputEl.removeAttr('ng-model'); - this.inputEl.attr('ng-model', '$parent.$data'); - } - }); - - var linkOrg = dir.link; - - dir.link = function (scope, el, attrs, ctrl) { - var matchEl = el.find('editable-ui-select-match'); - var choicesEl = el.find('editable-ui-select-choices'); - - match = matchEl.clone(); - choices = choicesEl.clone(); - - matchEl.remove(); - choicesEl.remove(); - - return linkOrg(scope, el, attrs, ctrl); - }; - - return dir; - }]); /** * EditableController class. * Attached to element with `editable-xxx` directive. @@ -929,7 +857,7 @@ function($parse, $compile, editableThemes, $rootScope, $document, editableContro // element wrapped by form if(ctrl[1]) { eFormCtrl = ctrl[1]; - hasForm = attrs.eSingle === undefined; + hasForm = true; } else if(attrs.eForm) { // element not wrapped by
, but we hane `e-form` attr var getter = $parse(attrs.eForm)(scope); if(getter) { // form exists in scope (above), e.g. editable column @@ -1076,7 +1004,7 @@ angular.module('xeditable').factory('editableFormController', // bind click to body: cancel|submit|ignore forms $document.bind('click', function(e) { // ignore right/middle button click - if (e.which && e.which !== 1) { + if ((e.which && e.which !== 1) || e.isDefaultPrevented()) { return; } @@ -1112,11 +1040,6 @@ angular.module('xeditable').factory('editableFormController', } }); - $rootScope.$on('closeEdit', function() { - for(var i=0; i < shown.length; i++) { - shown[i].$hide(); - } - }); var base = { $addEditable: function(editable) { @@ -1135,7 +1058,6 @@ angular.module('xeditable').factory('editableFormController', if (this.$visible) { editable.catchError(editable.show()); } - editable.catchError(editable.setWaiting(this.$waiting)); }, $removeEditable: function(editable) { @@ -1736,7 +1658,6 @@ angular.module('xeditable').factory('editableCombodate', [function() { throw 'Combodate should be applied to INPUT element'; } - var currentYear = new Date().getFullYear(); this.defaults = { //in this format value stored in original input format: 'YYYY-MM-DD HH:mm', @@ -1745,7 +1666,7 @@ angular.module('xeditable').factory('editableCombodate', [function() { //initial value, can be `new Date()` value: null, minYear: 1970, - maxYear: currentYear, + maxYear: 2015, yearDescending: true, minuteStep: 5, secondStep: 1, @@ -2213,7 +2134,6 @@ Editable themes: - default - bootstrap 2 - bootstrap 3 -- semantic-ui Note: in postrender() `this` is instance of editableController */ @@ -2280,7 +2200,6 @@ angular.module('xeditable').factory('editableThemes', function() { case 'editableTime': case 'editableMonth': case 'editableWeek': - case 'editablePassword': this.inputEl.addClass('form-control'); if(this.theme.inputClass) { // don`t apply `input-sm` and `input-lg` to select multiple @@ -2301,20 +2220,6 @@ angular.module('xeditable').factory('editableThemes', function() { this.buttonsEl.find('button').addClass(this.theme.buttonsClass); } } - }, - - //semantic-ui - 'semantic': { - formTpl: '
', - noformTpl: '', - controlsTpl: '
', - inputTpl: '', - errorTpl: '
', - buttonsTpl: '', - submitTpl: '', - cancelTpl: '' } };