(js) Fix creation of chip on blur
parent
0c02712b35
commit
35d549121d
6
NEWS
6
NEWS
|
@ -1,3 +1,9 @@
|
||||||
|
3.1.1 (2016-MM-DD)
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Bug fixes
|
||||||
|
- [web] fix creation of chip on blur (sgTransformOnBlur directive)
|
||||||
|
|
||||||
3.1.0 (2016-05-18)
|
3.1.0 (2016-05-18)
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
/* -*- Mode: javascript; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
/* -*- Mode: javascript; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
|
/* jshint loopfunc: true */
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -24,7 +25,8 @@
|
||||||
md-transform-chip="editor.addRecipient($chip, 'to')"
|
md-transform-chip="editor.addRecipient($chip, 'to')"
|
||||||
sg-transform-on-blur>
|
sg-transform-on-blur>
|
||||||
*/
|
*/
|
||||||
function sgTransformOnBlur() {
|
sgTransformOnBlur.$inject = ['$window', '$timeout'];
|
||||||
|
function sgTransformOnBlur($window, $timeout) {
|
||||||
return {
|
return {
|
||||||
link: link,
|
link: link,
|
||||||
require: 'mdChips', // Extends the original mdChips directive
|
require: 'mdChips', // Extends the original mdChips directive
|
||||||
|
@ -32,15 +34,33 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
function link(scope, element, attributes, mdChipsCtrl) {
|
function link(scope, element, attributes, mdChipsCtrl) {
|
||||||
mdChipsCtrl.onInputBlur = function() {
|
var mouseUpActions = [];
|
||||||
this.inputHasFocus = false;
|
|
||||||
|
|
||||||
// ADDED CODE
|
mdChipsCtrl.onInputBlur = function() {
|
||||||
var chipBuffer = this.getChipBuffer();
|
var appendFcn;
|
||||||
if ((this.hasAutocomplete && this.requireMatch) || !chipBuffer || chipBuffer === "") return;
|
|
||||||
this.appendChip(chipBuffer);
|
this.inputHasFocus = false;
|
||||||
this.resetChipBuffer();
|
appendFcn = (function() {
|
||||||
// - EOF - ADDED CODE
|
var chipBuffer = this.getChipBuffer();
|
||||||
|
if ((this.hasAutocomplete && this.requireMatch) || !chipBuffer || chipBuffer === "") return;
|
||||||
|
this.appendChip(chipBuffer);
|
||||||
|
this.resetChipBuffer();
|
||||||
|
}).bind(this);
|
||||||
|
|
||||||
|
if (this.hasAutocomplete) {
|
||||||
|
mouseUpActions.push(appendFcn);
|
||||||
|
$window.addEventListener('click', function(event){
|
||||||
|
while (mouseUpActions.length > 0) {
|
||||||
|
// Trigger actions after some delay to give time to md-autocomple to clear the input field
|
||||||
|
var action = mouseUpActions.splice(0,1)[0];
|
||||||
|
$timeout(function(){
|
||||||
|
$timeout(action);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}, false);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
appendFcn();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue