mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-11-05 08:49:21 +00:00
(js/css) Update generated files
This commit is contained in:
1 parent
3187bca0ef
commit
aad51c4b04
3 files changed
+143
-86
No files matched your search
+140
-83
@@ -2,7 +2,7 @@
|
||||
* AngularJS Material Design
|
||||
* https://github.com/angular/material
|
||||
* @license MIT
|
||||
* v1.1.19
|
||||
* v1.1.20
|
||||
*/
|
||||
(function( window, angular, undefined ){
|
||||
"use strict";
|
||||
@@ -1051,12 +1051,18 @@ angular
|
||||
/**
|
||||
* @ngInject
|
||||
*/
|
||||
function UtilFactory($document, $timeout, $compile, $rootScope, $$mdAnimate, $interpolate, $log, $rootElement, $window, $$rAF) {
|
||||
function UtilFactory($document, $timeout, $compile, $rootScope, $$mdAnimate, $interpolate, $log,
|
||||
$rootElement, $window, $$rAF) {
|
||||
// Setup some core variables for the processTemplate method
|
||||
var startSymbol = $interpolate.startSymbol(),
|
||||
endSymbol = $interpolate.endSymbol(),
|
||||
usesStandardSymbols = ((startSymbol === '{{') && (endSymbol === '}}'));
|
||||
|
||||
// Polyfill document.contains for IE11.
|
||||
document.contains || (document.contains = function (node) {
|
||||
return document.body.contains(node);
|
||||
});
|
||||
|
||||
/**
|
||||
* Checks if the target element has the requested style by key
|
||||
* @param {DOMElement|JQLite} target Target element
|
||||
@@ -1069,14 +1075,15 @@ function UtilFactory($document, $timeout, $compile, $rootScope, $$mdAnimate, $in
|
||||
|
||||
if (target && target.length) {
|
||||
var computedStyles = $window.getComputedStyle(target[0]);
|
||||
hasValue = angular.isDefined(computedStyles[key]) && (expectedVal ? computedStyles[key] == expectedVal : true);
|
||||
hasValue = angular.isDefined(computedStyles[key]) &&
|
||||
(expectedVal ? computedStyles[key] == expectedVal : true);
|
||||
}
|
||||
|
||||
return hasValue;
|
||||
};
|
||||
|
||||
function validateCssValue(value) {
|
||||
return !value ? '0' :
|
||||
return !value ? '0' :
|
||||
hasPx(value) || hasPercent(value) ? value : value + 'px';
|
||||
}
|
||||
|
||||
@@ -1086,7 +1093,6 @@ function UtilFactory($document, $timeout, $compile, $rootScope, $$mdAnimate, $in
|
||||
|
||||
function hasPercent(value) {
|
||||
return String(value).indexOf('%') > -1;
|
||||
|
||||
}
|
||||
|
||||
var $mdUtil = {
|
||||
@@ -1115,12 +1121,36 @@ function UtilFactory($document, $timeout, $compile, $rootScope, $$mdAnimate, $in
|
||||
return $options.getOption ? $options.getOption(optionName) : $options[optionName];
|
||||
},
|
||||
|
||||
/**
|
||||
* Determines the current 'dir'ectional value based on the value of 'dir'
|
||||
* attribute of the element. If that is not defined, it will try to use
|
||||
* a 'dir' attribute of the body or html tag.
|
||||
*
|
||||
* @param {Object=} attrs a hash object with key-value pairs of normalized
|
||||
* attribute names and their corresponding attribute values.
|
||||
* @returns {boolean} true if the element's passed in attributes,
|
||||
* the document, or the body indicates RTL mode, false otherwise.
|
||||
*/
|
||||
isRtl: function(attrs) {
|
||||
var dir = angular.isDefined(attrs) && attrs.hasOwnProperty('dir') && attrs.dir;
|
||||
|
||||
switch (dir) {
|
||||
case 'ltr':
|
||||
return false;
|
||||
|
||||
case 'rtl':
|
||||
return true;
|
||||
}
|
||||
|
||||
return ($document[0].dir === 'rtl' || $document[0].body.dir === 'rtl');
|
||||
},
|
||||
|
||||
/**
|
||||
* Bi-directional accessor/mutator used to easily update an element's
|
||||
* property based on the current 'dir'ectional value.
|
||||
*/
|
||||
bidi : function(element, property, lValue, rValue) {
|
||||
var ltr = !($document[0].dir == 'rtl' || $document[0].body.dir == 'rtl');
|
||||
bidi: function(element, property, lValue, rValue) {
|
||||
var ltr = !this.isRtl();
|
||||
|
||||
// If accessor
|
||||
if (arguments.length == 0) return ltr ? 'ltr' : 'rtl';
|
||||
@@ -1137,7 +1167,7 @@ function UtilFactory($document, $timeout, $compile, $rootScope, $$mdAnimate, $in
|
||||
},
|
||||
|
||||
bidiProperty: function (element, lProperty, rProperty, value) {
|
||||
var ltr = !($document[0].dir == 'rtl' || $document[0].body.dir == 'rtl');
|
||||
var ltr = !this.isRtl();
|
||||
|
||||
var elem = angular.element(element);
|
||||
|
||||
@@ -1247,10 +1277,10 @@ function UtilFactory($document, $timeout, $compile, $rootScope, $$mdAnimate, $in
|
||||
|
||||
/**
|
||||
* Disables scroll around the passed parent element.
|
||||
* @param element Unused
|
||||
* @param {!Element|!angular.JQLite} parent Element to disable scrolling within.
|
||||
* @param {Element|angular.JQLite=} element Origin Element (not used)
|
||||
* @param {Element|angular.JQLite=} parent Element to disable scrolling within.
|
||||
* Defaults to body if none supplied.
|
||||
* @param options Object of options to modify functionality
|
||||
* @param {Object=} options Object of options to modify functionality
|
||||
* - disableScrollMask Boolean of whether or not to create a scroll mask element or
|
||||
* use the passed parent element.
|
||||
*/
|
||||
@@ -1266,7 +1296,7 @@ function UtilFactory($document, $timeout, $compile, $rootScope, $$mdAnimate, $in
|
||||
|
||||
var body = $document[0].body;
|
||||
var restoreBody = disableBodyScroll();
|
||||
var restoreElement = disableElementScroll(parent);
|
||||
var restoreElement = disableElementScroll(parent, options);
|
||||
|
||||
return $mdUtil.disableScrollAround._restoreScroll = function() {
|
||||
if (--$mdUtil.disableScrollAround._count <= 0) {
|
||||
@@ -1279,21 +1309,29 @@ function UtilFactory($document, $timeout, $compile, $rootScope, $$mdAnimate, $in
|
||||
|
||||
/**
|
||||
* Creates a virtual scrolling mask to prevent touchmove, keyboard, scrollbar clicking,
|
||||
* and wheel events
|
||||
* and wheel events.
|
||||
* @param {!Element|!angular.JQLite} elementToDisable
|
||||
* @param {Object=} scrollMaskOptions Object of options to modify functionality
|
||||
* - disableScrollMask Boolean of whether or not to create a scroll mask element or
|
||||
* use the passed parent element.
|
||||
* @returns {Function}
|
||||
*/
|
||||
function disableElementScroll(element) {
|
||||
element = angular.element(element || body);
|
||||
|
||||
function disableElementScroll(elementToDisable, scrollMaskOptions) {
|
||||
var scrollMask;
|
||||
var wrappedElementToDisable = angular.element(elementToDisable || body);
|
||||
|
||||
if (options.disableScrollMask) {
|
||||
scrollMask = element;
|
||||
if (scrollMaskOptions.disableScrollMask) {
|
||||
scrollMask = wrappedElementToDisable;
|
||||
} else {
|
||||
scrollMask = angular.element(
|
||||
'<div class="md-scroll-mask">' +
|
||||
' <div class="md-scroll-mask-bar"></div>' +
|
||||
'</div>');
|
||||
element.append(scrollMask);
|
||||
wrappedElementToDisable.append(scrollMask);
|
||||
}
|
||||
|
||||
function preventDefault(e) {
|
||||
e.preventDefault();
|
||||
}
|
||||
|
||||
scrollMask.on('wheel', preventDefault);
|
||||
@@ -1303,14 +1341,10 @@ function UtilFactory($document, $timeout, $compile, $rootScope, $$mdAnimate, $in
|
||||
scrollMask.off('wheel');
|
||||
scrollMask.off('touchmove');
|
||||
|
||||
if (!options.disableScrollMask && scrollMask[0].parentNode) {
|
||||
if (!scrollMaskOptions.disableScrollMask && scrollMask[0].parentNode) {
|
||||
scrollMask[0].parentNode.removeChild(scrollMask[0]);
|
||||
}
|
||||
};
|
||||
|
||||
function preventDefault(e) {
|
||||
e.preventDefault();
|
||||
}
|
||||
}
|
||||
|
||||
// Converts the body to a position fixed block and translate it to the proper scroll position
|
||||
@@ -3507,7 +3541,6 @@ function MdCompilerProvider($compileProvider) {
|
||||
* @returns {{element: !JQLite, restore: !function}}
|
||||
*/
|
||||
MdCompilerService.prototype._fetchContentElement = function(options) {
|
||||
|
||||
var contentEl = options.contentElement;
|
||||
var restoreFn = null;
|
||||
|
||||
@@ -3581,9 +3614,12 @@ var lastLabelClickPos = null;
|
||||
// Used to attach event listeners once when multiple ng-apps are running.
|
||||
var isInitialized = false;
|
||||
|
||||
var userAgent = navigator.userAgent || navigator.vendor || window.opera;
|
||||
var isIos = userAgent.match(/ipad|iphone|ipod/i);
|
||||
var isAndroid = userAgent.match(/android/i);
|
||||
// Support material-tools builds.
|
||||
if (window.navigator) {
|
||||
var userAgent = window.navigator.userAgent || window.navigator.vendor || window.opera;
|
||||
var isIos = userAgent.match(/ipad|iphone|ipod/i);
|
||||
var isAndroid = userAgent.match(/android/i);
|
||||
}
|
||||
|
||||
/**
|
||||
* @ngdoc module
|
||||
@@ -3949,8 +3985,8 @@ function MdGesture($$MdGestureHandler, $$rAF, $timeout) {
|
||||
* A gesture will manage its lifecycle through the start,move,end, and cancel
|
||||
* functions, which are called by native dom events.
|
||||
*
|
||||
* A gesture has the concept of 'options' (eg a swipe's required velocity), which can be
|
||||
* overridden by elements registering through $mdGesture.register()
|
||||
* A gesture has the concept of 'options' (eg. a swipe's required velocity), which can be
|
||||
* overridden by elements registering through $mdGesture.register().
|
||||
*/
|
||||
function GestureHandler (name) {
|
||||
this.name = name;
|
||||
@@ -3997,8 +4033,8 @@ function MdGestureHandler() {
|
||||
},
|
||||
end: function (ev, pointer) {
|
||||
if (!this.state.isRunning) return;
|
||||
this.onEnd(ev, pointer);
|
||||
this.state.isRunning = false;
|
||||
this.onEnd(ev, pointer);
|
||||
},
|
||||
cancel: function (ev, pointer) {
|
||||
this.onCancel(ev, pointer);
|
||||
@@ -4141,12 +4177,6 @@ function attachToDocument($mdGesture, $$MdGestureHandler) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Polyfill document.contains for IE11.
|
||||
// TODO: move to util
|
||||
document.contains || (document.contains = function (node) {
|
||||
return document.body.contains(node);
|
||||
});
|
||||
|
||||
if (!isInitialized && $mdGesture.isHijackingClicks) {
|
||||
/*
|
||||
* If hijack clicks is true, we preventDefault any click that wasn't
|
||||
@@ -8522,6 +8552,15 @@ function MdAutocompleteCtrl ($scope, $element, $mdUtil, $mdConstant, $mdTheming,
|
||||
debouncedOnResize = $mdUtil.debounce(onWindowResize),
|
||||
mode = MODE_VIRTUAL; // default
|
||||
|
||||
/**
|
||||
* The root document element. This is used for attaching a top-level click handler to
|
||||
* close the options panel when a click outside said panel occurs. We use `documentElement`
|
||||
* instead of body because, when scrolling is disabled, some browsers consider the body element
|
||||
* to be completely off the screen and propagate events directly to the html element.
|
||||
* @type {!Object} angular.JQLite
|
||||
*/
|
||||
ctrl.documentElement = angular.element(document.documentElement);
|
||||
|
||||
// Public Exported Variables with handlers
|
||||
defineProperty('hidden', handleHiddenChange, true);
|
||||
|
||||
@@ -8837,8 +8876,8 @@ function MdAutocompleteCtrl ($scope, $element, $mdUtil, $mdConstant, $mdTheming,
|
||||
|
||||
/**
|
||||
* Handles changes to the `hidden` property.
|
||||
* @param hidden
|
||||
* @param oldHidden
|
||||
* @param {boolean} hidden
|
||||
* @param {boolean} oldHidden
|
||||
*/
|
||||
function handleHiddenChange (hidden, oldHidden) {
|
||||
if (!hidden && oldHidden) {
|
||||
@@ -8851,8 +8890,10 @@ function MdAutocompleteCtrl ($scope, $element, $mdUtil, $mdConstant, $mdTheming,
|
||||
if (elements) {
|
||||
$mdUtil.disableScrollAround(elements.ul);
|
||||
enableWrapScroll = disableElementScrollEvents(angular.element(elements.wrap));
|
||||
ctrl.documentElement.on('click', handleClickOutside);
|
||||
}
|
||||
} else if (hidden && !oldHidden) {
|
||||
ctrl.documentElement.off('click', handleClickOutside);
|
||||
$mdUtil.enableScrolling();
|
||||
|
||||
if (enableWrapScroll) {
|
||||
@@ -8862,6 +8903,15 @@ function MdAutocompleteCtrl ($scope, $element, $mdUtil, $mdConstant, $mdTheming,
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Handling click events that bubble up to the document is required for closing the dropdown
|
||||
* panel on click outside of the panel on iOS.
|
||||
* @param {Event} $event
|
||||
*/
|
||||
function handleClickOutside($event) {
|
||||
ctrl.hidden = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Disables scrolling for a specific element
|
||||
*/
|
||||
@@ -9034,7 +9084,7 @@ function MdAutocompleteCtrl ($scope, $element, $mdUtil, $mdConstant, $mdTheming,
|
||||
|
||||
/**
|
||||
* Force blur on input element
|
||||
* @param forceBlur
|
||||
* @param {boolean} forceBlur
|
||||
*/
|
||||
function doBlur(forceBlur) {
|
||||
if (forceBlur) {
|
||||
@@ -9328,8 +9378,12 @@ function MdAutocompleteCtrl ($scope, $element, $mdUtil, $mdConstant, $mdTheming,
|
||||
|
||||
/**
|
||||
* Clears the searchText value and selected item.
|
||||
* @param {Event} $event
|
||||
*/
|
||||
function clearValue () {
|
||||
function clearValue ($event) {
|
||||
if ($event) {
|
||||
$event.stopPropagation();
|
||||
}
|
||||
clearSelectedItem();
|
||||
clearSearchText();
|
||||
}
|
||||
@@ -9951,9 +10005,15 @@ function MdAutocomplete ($$mdSvgRegistry) {
|
||||
}
|
||||
|
||||
scope.mdMode = getRepeatMode(attrs.mdMode);
|
||||
|
||||
// Stop click events from bubbling up to the document and triggering a flicker of the
|
||||
// options panel while still supporting ng-click to be placed on md-autocomplete.
|
||||
element.on('click', function(event) {
|
||||
event.stopPropagation();
|
||||
});
|
||||
};
|
||||
},
|
||||
template: function (element, attr) {
|
||||
template: function (element, attr) {
|
||||
var noItemsTemplate = getNoItemsTemplate(),
|
||||
itemTemplate = getItemTemplate(),
|
||||
leftover = element.html(),
|
||||
@@ -10733,14 +10793,14 @@ function MdBottomSheetProvider($$interimElementProvider) {
|
||||
// Add a backdrop that will close on click
|
||||
backdrop = $mdUtil.createBackdrop(scope, "md-bottom-sheet-backdrop md-opaque");
|
||||
|
||||
// Prevent mouse focus on backdrop; ONLY programatic focus allowed.
|
||||
// This allows clicks on backdrop to propogate to the $rootElement and
|
||||
// Prevent mouse focus on backdrop; ONLY programmatic focus allowed.
|
||||
// This allows clicks on backdrop to propagate to the $rootElement and
|
||||
// ESC key events to be detected properly.
|
||||
backdrop[0].tabIndex = -1;
|
||||
|
||||
if (options.clickOutsideToClose) {
|
||||
backdrop.on('click', function() {
|
||||
$mdUtil.nextTick($mdBottomSheet.cancel,true);
|
||||
$mdUtil.nextTick($mdBottomSheet.cancel, true);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -10766,7 +10826,7 @@ function MdBottomSheetProvider($$interimElementProvider) {
|
||||
if (options.escapeToClose) {
|
||||
options.rootElementKeyupCallback = function(e) {
|
||||
if (e.keyCode === $mdConstant.KEY_CODE.ESCAPE) {
|
||||
$mdUtil.nextTick($mdBottomSheet.cancel,true);
|
||||
$mdUtil.nextTick($mdBottomSheet.cancel, true);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -10826,7 +10886,7 @@ function MdBottomSheetProvider($$interimElementProvider) {
|
||||
var distanceRemaining = element.prop('offsetHeight') - ev.pointer.distanceY;
|
||||
var transitionDuration = Math.min(distanceRemaining / ev.pointer.velocityY * 0.75, 500);
|
||||
element.css($mdConstant.CSS.TRANSITION_DURATION, transitionDuration + 'ms');
|
||||
$mdUtil.nextTick($mdBottomSheet.cancel,true);
|
||||
$mdUtil.nextTick($mdBottomSheet.cancel, true);
|
||||
} else {
|
||||
element.css($mdConstant.CSS.TRANSITION_DURATION, '');
|
||||
element.css($mdConstant.CSS.TRANSFORM, '');
|
||||
@@ -16503,8 +16563,7 @@ angular.module('material.components.datepicker', [
|
||||
'<input ' +
|
||||
(ariaLabelValue ? 'aria-label="' + ariaLabelValue + '" ' : '') +
|
||||
'class="md-datepicker-input" ' +
|
||||
'aria-haspopup="true" ' +
|
||||
'aria-expanded="{{ctrl.isCalendarOpen}}" ' +
|
||||
'aria-haspopup="dialog" ' +
|
||||
'ng-focus="ctrl.setFocused(true)" ' +
|
||||
'ng-blur="ctrl.setFocused(false)"> ' +
|
||||
triangleButton +
|
||||
@@ -16719,7 +16778,7 @@ angular.module('material.components.datepicker', [
|
||||
this.isFocused = false;
|
||||
|
||||
/** @type {boolean} */
|
||||
this.isDisabled;
|
||||
this.isDisabled = undefined;
|
||||
this.setDisabled($element[0].disabled || angular.isString($attrs.disabled));
|
||||
|
||||
/** @type {boolean} Whether the date-picker's calendar pane is open. */
|
||||
@@ -16728,7 +16787,7 @@ angular.module('material.components.datepicker', [
|
||||
/** @type {boolean} Whether the calendar should open when the input is focused. */
|
||||
this.openOnFocus = $attrs.hasOwnProperty('mdOpenOnFocus');
|
||||
|
||||
/** @final */
|
||||
/** @type {Object} Instance of the mdInputContainer controller */
|
||||
this.mdInputContainer = null;
|
||||
|
||||
/**
|
||||
@@ -17042,9 +17101,9 @@ angular.module('material.components.datepicker', [
|
||||
};
|
||||
|
||||
/**
|
||||
* Check to see if the input is valid as the validation should fail if the model is invalid
|
||||
* Check to see if the input is valid, as the validation should fail if the model is invalid.
|
||||
*
|
||||
* @param {String} inputString
|
||||
* @param {string} inputString
|
||||
* @param {Date} parsedDate
|
||||
* @return {boolean} Whether the input is valid
|
||||
*/
|
||||
@@ -19561,7 +19620,7 @@ function MdDividerDirective($mdTheming) {
|
||||
*/
|
||||
GridListController.$inject = ["$mdUtil"];
|
||||
GridLayoutFactory.$inject = ["$mdUtil"];
|
||||
GridListDirective.$inject = ["$interpolate", "$mdConstant", "$mdGridLayout", "$mdMedia"];
|
||||
GridListDirective.$inject = ["$interpolate", "$mdConstant", "$mdGridLayout", "$mdMedia", "$mdUtil"];
|
||||
GridTileDirective.$inject = ["$mdMedia"];
|
||||
angular.module('material.components.gridList', ['material.core'])
|
||||
.directive('mdGridList', GridListDirective)
|
||||
@@ -19654,7 +19713,7 @@ angular.module('material.components.gridList', ['material.core'])
|
||||
* </md-grid-list>
|
||||
* </hljs>
|
||||
*/
|
||||
function GridListDirective($interpolate, $mdConstant, $mdGridLayout, $mdMedia) {
|
||||
function GridListDirective($interpolate, $mdConstant, $mdGridLayout, $mdMedia, $mdUtil) {
|
||||
return {
|
||||
restrict: 'E',
|
||||
controller: GridListController,
|
||||
@@ -19831,8 +19890,7 @@ function GridListDirective($interpolate, $mdConstant, $mdGridLayout, $mdMedia) {
|
||||
|
||||
// The width and horizontal position of each tile is always calculated the same way, but the
|
||||
// height and vertical position depends on the rowMode.
|
||||
var ltr = document.dir != 'rtl' && document.body.dir != 'rtl';
|
||||
var style = ltr ? {
|
||||
var style = (!$mdUtil.isRtl(attrs)) ? {
|
||||
left: POSITION({ unit: hUnit, offset: position.col, gutter: gutter }),
|
||||
width: DIMENSION({ unit: hUnit, span: spans.col, gutter: gutter }),
|
||||
// resets
|
||||
@@ -24187,7 +24245,7 @@ function MenuProvider($$interimElementProvider) {
|
||||
throw new Error('Invalid target mode "' + positionMode.top + '" specified for md-menu on Y axis.');
|
||||
}
|
||||
|
||||
var rtl = ($mdUtil.bidi() === 'rtl');
|
||||
var rtl = $mdUtil.isRtl(el);
|
||||
|
||||
switch (positionMode.left) {
|
||||
case 'target':
|
||||
@@ -28234,7 +28292,7 @@ function MdPanelPosition($injector) {
|
||||
this._$window = $injector.get('$window');
|
||||
|
||||
/** @private {boolean} */
|
||||
this._isRTL = $injector.get('$mdUtil').bidi() === 'rtl';
|
||||
this._isRTL = $injector.get('$mdUtil').isRtl();
|
||||
|
||||
/** @private @const {!angular.$mdConstant} */
|
||||
this._$mdConstant = $injector.get('$mdConstant');
|
||||
@@ -29064,7 +29122,7 @@ MdPanelAnimation.prototype.animateOpen = function(panelEl) {
|
||||
|
||||
var openScale = animator.calculateZoomToOrigin(
|
||||
panelEl, this._openFrom) || '';
|
||||
openFrom = animator.toTransformCss(openScale + ' ' + panelTransform);
|
||||
openFrom = animator.toTransformCss(panelTransform + ' ' + openScale);
|
||||
break;
|
||||
|
||||
case MdPanelAnimation.animation.FADE:
|
||||
@@ -29129,7 +29187,7 @@ MdPanelAnimation.prototype.animateClose = function(panelEl) {
|
||||
|
||||
var closeScale = animator.calculateZoomToOrigin(
|
||||
panelEl, this._closeTo) || '';
|
||||
closeTo = animator.toTransformCss(closeScale + ' ' + panelTransform);
|
||||
closeTo = animator.toTransformCss(panelTransform + ' ' + closeScale);
|
||||
break;
|
||||
|
||||
case MdPanelAnimation.animation.FADE:
|
||||
@@ -30658,16 +30716,9 @@ function SelectDirective($mdSelect, $mdUtil, $mdConstant, $mdTheming, $mdAria, $
|
||||
};
|
||||
|
||||
if (!isReadonly) {
|
||||
element
|
||||
.on('focus', function(ev) {
|
||||
// Always focus the container (if we have one) so floating labels and other styles are
|
||||
// applied properly
|
||||
containerCtrl && containerCtrl.setFocused(true);
|
||||
});
|
||||
|
||||
// Attach before ngModel's blur listener to stop propagation of blur event
|
||||
// to prevent from setting $touched.
|
||||
element.on('blur', function(event) {
|
||||
var handleBlur = function(event) {
|
||||
// Attach before ngModel's blur listener to stop propagation of blur event
|
||||
// and prevent setting $touched.
|
||||
if (untouched) {
|
||||
untouched = false;
|
||||
if (selectScope._mdSelectIsOpen) {
|
||||
@@ -30675,10 +30726,17 @@ function SelectDirective($mdSelect, $mdUtil, $mdConstant, $mdTheming, $mdAria, $
|
||||
}
|
||||
}
|
||||
|
||||
if (selectScope._mdSelectIsOpen) return;
|
||||
containerCtrl && containerCtrl.setFocused(false);
|
||||
inputCheckValue();
|
||||
});
|
||||
};
|
||||
var handleFocus = function(ev) {
|
||||
// Always focus the container (if we have one) so floating labels and other styles are
|
||||
// applied properly
|
||||
containerCtrl && containerCtrl.setFocused(true);
|
||||
};
|
||||
|
||||
element.on('focus', handleFocus);
|
||||
element.on('blur', handleBlur);
|
||||
}
|
||||
|
||||
mdSelectCtrl.triggerClose = function() {
|
||||
@@ -30806,7 +30864,6 @@ function SelectDirective($mdSelect, $mdUtil, $mdConstant, $mdTheming, $mdAria, $
|
||||
});
|
||||
|
||||
|
||||
|
||||
function inputCheckValue() {
|
||||
// The select counts as having a value if one or more options are selected,
|
||||
// or if the input's validity state says it has bad input (eg string in a number input)
|
||||
@@ -30869,7 +30926,6 @@ function SelectDirective($mdSelect, $mdUtil, $mdConstant, $mdTheming, $mdAria, $
|
||||
loadingAsync: attr.mdOnOpen ? scope.$eval(attr.mdOnOpen) || true : false
|
||||
}).finally(function() {
|
||||
selectScope._mdSelectIsOpen = false;
|
||||
element.focus();
|
||||
element.attr('aria-expanded', 'false');
|
||||
ngModelCtrl.$setTouched();
|
||||
});
|
||||
@@ -33404,7 +33460,7 @@ function SliderDirective($$rAF, $window, $mdAria, $mdUtil, $mdConstant, $mdThemi
|
||||
var size = vertical ? sliderDimensions.height : sliderDimensions.width;
|
||||
var calc = (position - offset) / size;
|
||||
|
||||
if (!vertical && $mdUtil.bidi() === 'rtl') {
|
||||
if (!vertical && $mdUtil.isRtl(attr)) {
|
||||
calc = 1 - calc;
|
||||
}
|
||||
|
||||
@@ -35546,7 +35602,7 @@ function MdTabsController ($scope, $element, $window, $mdConstant, $mdTabInkRipp
|
||||
}
|
||||
|
||||
function isRtl() {
|
||||
return ($mdUtil.bidi() === 'rtl');
|
||||
return $mdUtil.isRtl($attrs);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37445,6 +37501,8 @@ function VirtualRepeatContainerController($$rAF, $mdUtil, $mdConstant, $parse, $
|
||||
this.oldElementSize = null;
|
||||
/** @type {!number} Maximum amount of pixels allowed for a single DOM element */
|
||||
this.maxElementPixels = $mdConstant.ELEMENT_MAX_PIXELS;
|
||||
/** @type {string} Direction of the text */
|
||||
this.ltr = !$mdUtil.isRtl(this.$attrs);
|
||||
|
||||
if (this.$attrs.mdTopIndex) {
|
||||
/** @type {function(angular.Scope): number} Binds to topIndex on AngularJS scope */
|
||||
@@ -37705,13 +37763,12 @@ VirtualRepeatContainerController.prototype.resetScroll = function() {
|
||||
|
||||
|
||||
VirtualRepeatContainerController.prototype.handleScroll_ = function() {
|
||||
var ltr = document.dir !== 'rtl' && document.body.dir !== 'rtl';
|
||||
if (!ltr && !this.maxSize) {
|
||||
if (!this.ltr && !this.maxSize) {
|
||||
this.scroller.scrollLeft = this.scrollSize;
|
||||
this.maxSize = this.scroller.scrollLeft;
|
||||
}
|
||||
var offset = this.isHorizontal() ?
|
||||
(ltr?this.scroller.scrollLeft : this.maxSize - this.scroller.scrollLeft)
|
||||
(this.ltr ? this.scroller.scrollLeft : this.maxSize - this.scroller.scrollLeft)
|
||||
: this.scroller.scrollTop;
|
||||
if (this.scrollSize < this.size) return;
|
||||
if (offset > this.scrollSize - this.size) {
|
||||
@@ -37725,7 +37782,7 @@ VirtualRepeatContainerController.prototype.handleScroll_ = function() {
|
||||
var numItems = Math.max(0, Math.floor(offset / itemSize) - NUM_EXTRA);
|
||||
|
||||
var transform = (this.isHorizontal() ? 'translateX(' : 'translateY(') +
|
||||
(!this.isHorizontal() || ltr ? (numItems * itemSize) : - (numItems * itemSize)) + 'px)';
|
||||
(!this.isHorizontal() || this.ltr ? (numItems * itemSize) : - (numItems * itemSize)) + 'px)';
|
||||
|
||||
this.scrollOffset = offset;
|
||||
this.offsetter.style.webkitTransform = transform;
|
||||
@@ -38445,8 +38502,8 @@ function MdWhiteframeDirective($log) {
|
||||
|
||||
})();
|
||||
(function(){
|
||||
angular.module("material.core").constant("$MD_THEME_CSS", "md-autocomplete.md-THEME_NAME-theme{background:\"{{background-hue-1}}\"}md-autocomplete.md-THEME_NAME-theme[disabled]:not([md-floating-label]){background:\"{{background-hue-2}}\"}md-autocomplete.md-THEME_NAME-theme button md-icon path{fill:\"{{background-600}}\"}md-autocomplete.md-THEME_NAME-theme button:after{background:\"{{background-600-0.3}}\"}md-autocomplete.md-THEME_NAME-theme input{color:\"{{foreground-1}}\"}md-autocomplete.md-THEME_NAME-theme.md-accent md-input-container.md-input-focused .md-input{border-color:\"{{accent-color}}\"}md-autocomplete.md-THEME_NAME-theme.md-accent md-input-container.md-input-focused label,md-autocomplete.md-THEME_NAME-theme.md-accent md-input-container.md-input-focused md-icon{color:\"{{accent-color}}\"}md-autocomplete.md-THEME_NAME-theme.md-accent md-progress-linear .md-container{background-color:\"{{accent-100}}\"}md-autocomplete.md-THEME_NAME-theme.md-accent md-progress-linear .md-bar{background-color:\"{{accent-color}}\"}md-autocomplete.md-THEME_NAME-theme.md-warn md-input-container.md-input-focused .md-input{border-color:\"{{warn-A700}}\"}md-autocomplete.md-THEME_NAME-theme.md-warn md-input-container.md-input-focused label,md-autocomplete.md-THEME_NAME-theme.md-warn md-input-container.md-input-focused md-icon{color:\"{{warn-A700}}\"}md-autocomplete.md-THEME_NAME-theme.md-warn md-progress-linear .md-container{background-color:\"{{warn-100}}\"}md-autocomplete.md-THEME_NAME-theme.md-warn md-progress-linear .md-bar{background-color:\"{{warn-color}}\"}.md-autocomplete-standard-list-container.md-THEME_NAME-theme,.md-autocomplete-suggestions-container.md-THEME_NAME-theme{background:\"{{background-hue-1}}\"}.md-autocomplete-standard-list-container.md-THEME_NAME-theme li,.md-autocomplete-suggestions-container.md-THEME_NAME-theme li{color:\"{{foreground-1}}\"}.md-autocomplete-standard-list-container.md-THEME_NAME-theme li#selected_option,.md-autocomplete-standard-list-container.md-THEME_NAME-theme li:hover,.md-autocomplete-suggestions-container.md-THEME_NAME-theme li#selected_option,.md-autocomplete-suggestions-container.md-THEME_NAME-theme li:hover{background:\"{{background-500-0.18}}\"}md-backdrop{background-color:\"{{background-900-0.0}}\"}md-backdrop.md-opaque.md-THEME_NAME-theme{background-color:\"{{background-900-1.0}}\"}md-bottom-sheet.md-THEME_NAME-theme{background-color:\"{{background-color}}\";border-top-color:\"{{background-hue-3}}\"}md-bottom-sheet.md-THEME_NAME-theme.md-list md-list-item{color:\"{{foreground-1}}\"}md-bottom-sheet.md-THEME_NAME-theme .md-subheader{background-color:\"{{background-color}}\";color:\"{{foreground-1}}\"}.md-button.md-THEME_NAME-theme:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme:not([disabled]):hover{background-color:\"{{background-500-0.2}}\"}.md-button.md-THEME_NAME-theme:not([disabled]).md-icon-button:hover{background-color:transparent}.md-button.md-THEME_NAME-theme.md-fab md-icon{color:\"{{accent-contrast}}\"}.md-button.md-THEME_NAME-theme.md-primary{color:\"{{primary-color}}\"}.md-button.md-THEME_NAME-theme.md-primary.md-fab,.md-button.md-THEME_NAME-theme.md-primary.md-raised{color:\"{{primary-contrast}}\";background-color:\"{{primary-color}}\"}.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]) md-icon,.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]) md-icon{color:\"{{primary-contrast}}\"}.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]):hover,.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]):hover{background-color:\"{{primary-600}}\"}.md-button.md-THEME_NAME-theme.md-primary:not([disabled]) md-icon{color:\"{{primary-color}}\"}.md-button.md-THEME_NAME-theme.md-fab{background-color:\"{{accent-color}}\";color:\"{{accent-contrast}}\"}.md-button.md-THEME_NAME-theme.md-fab:not([disabled]) .md-icon{color:\"{{accent-contrast}}\"}.md-button.md-THEME_NAME-theme.md-fab:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme.md-fab:not([disabled]):hover{background-color:\"{{accent-A700}}\"}.md-button.md-THEME_NAME-theme.md-raised{color:\"{{background-900}}\";background-color:\"{{background-50}}\"}.md-button.md-THEME_NAME-theme.md-raised:not([disabled]) md-icon{color:\"{{background-900}}\"}.md-button.md-THEME_NAME-theme.md-raised:not([disabled]):hover{background-color:\"{{background-50}}\"}.md-button.md-THEME_NAME-theme.md-raised:not([disabled]).md-focused{background-color:\"{{background-200}}\"}.md-button.md-THEME_NAME-theme.md-warn{color:\"{{warn-color}}\"}.md-button.md-THEME_NAME-theme.md-warn.md-fab,.md-button.md-THEME_NAME-theme.md-warn.md-raised{color:\"{{warn-contrast}}\";background-color:\"{{warn-color}}\"}.md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]) md-icon,.md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]) md-icoLine truncated
|
||||
angular.module("material.core").constant("$MD_THEME_CSS", "md-autocomplete.md-THEME_NAME-theme{background:\"{{background-hue-1}}\"}md-autocomplete.md-THEME_NAME-theme[disabled]:not([md-floating-label]){background:\"{{background-hue-2}}\"}md-autocomplete.md-THEME_NAME-theme button md-icon path{fill:\"{{background-600}}\"}md-autocomplete.md-THEME_NAME-theme button:after{background:\"{{background-600-0.3}}\"}md-autocomplete.md-THEME_NAME-theme input{color:\"{{foreground-1}}\"}md-autocomplete.md-THEME_NAME-theme.md-accent md-input-container.md-input-focused .md-input{border-color:\"{{accent-color}}\"}md-autocomplete.md-THEME_NAME-theme.md-accent md-input-container.md-input-focused label,md-autocomplete.md-THEME_NAME-theme.md-accent md-input-container.md-input-focused md-icon{color:\"{{accent-color}}\"}md-autocomplete.md-THEME_NAME-theme.md-accent md-progress-linear .md-container{background-color:\"{{accent-100}}\"}md-autocomplete.md-THEME_NAME-theme.md-accent md-progress-linear .md-bar{background-color:\"{{accent-color}}\"}md-autocomplete.md-THEME_NAME-theme.md-warn md-input-container.md-input-focused .md-input{border-color:\"{{warn-A700}}\"}md-autocomplete.md-THEME_NAME-theme.md-warn md-input-container.md-input-focused label,md-autocomplete.md-THEME_NAME-theme.md-warn md-input-container.md-input-focused md-icon{color:\"{{warn-A700}}\"}md-autocomplete.md-THEME_NAME-theme.md-warn md-progress-linear .md-container{background-color:\"{{warn-100}}\"}md-autocomplete.md-THEME_NAME-theme.md-warn md-progress-linear .md-bar{background-color:\"{{warn-color}}\"}.md-autocomplete-standard-list-container.md-THEME_NAME-theme,.md-autocomplete-suggestions-container.md-THEME_NAME-theme{background:\"{{background-hue-1}}\"}.md-autocomplete-standard-list-container.md-THEME_NAME-theme li,.md-autocomplete-suggestions-container.md-THEME_NAME-theme li{color:\"{{foreground-1}}\"}.md-autocomplete-standard-list-container.md-THEME_NAME-theme li#selected_option,.md-autocomplete-standard-list-container.md-THEME_NAME-theme li:hover,.md-autocomplete-suggestions-container.md-THEME_NAME-theme li#selected_option,.md-autocomplete-suggestions-container.md-THEME_NAME-theme li:hover{background:\"{{background-500-0.18}}\"}md-backdrop{background-color:\"{{background-900-0.0}}\"}md-backdrop.md-opaque.md-THEME_NAME-theme{background-color:\"{{background-900-1.0}}\"}md-bottom-sheet.md-THEME_NAME-theme{background-color:\"{{background-color}}\";border-top-color:\"{{background-hue-3}}\"}md-bottom-sheet.md-THEME_NAME-theme.md-list md-list-item{color:\"{{foreground-1}}\"}md-bottom-sheet.md-THEME_NAME-theme .md-subheader{background-color:\"{{background-color}}\";color:\"{{foreground-1}}\"}.md-button.md-THEME_NAME-theme:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme:not([disabled]):hover{background-color:\"{{background-500-0.2}}\"}.md-button.md-THEME_NAME-theme:not([disabled]).md-icon-button:hover{background-color:transparent}.md-button.md-THEME_NAME-theme.md-fab md-icon{color:\"{{accent-contrast}}\"}.md-button.md-THEME_NAME-theme.md-primary{color:\"{{primary-color}}\"}.md-button.md-THEME_NAME-theme.md-primary.md-fab,.md-button.md-THEME_NAME-theme.md-primary.md-raised{color:\"{{primary-contrast}}\";background-color:\"{{primary-color}}\"}.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]) md-icon,.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]) md-icon{color:\"{{primary-contrast}}\"}.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]):hover,.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]):hover{background-color:\"{{primary-600}}\"}.md-button.md-THEME_NAME-theme.md-primary:not([disabled]) md-icon{color:\"{{primary-color}}\"}.md-button.md-THEME_NAME-theme.md-fab{background-color:\"{{accent-color}}\";color:\"{{accent-contrast}}\"}.md-button.md-THEME_NAME-theme.md-fab:not([disabled]) .md-icon{color:\"{{accent-contrast}}\"}.md-button.md-THEME_NAME-theme.md-fab:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme.md-fab:not([disabled]):hover{background-color:\"{{accent-A700}}\"}.md-button.md-THEME_NAME-theme.md-raised{color:\"{{background-900}}\";background-color:\"{{background-50}}\"}.md-button.md-THEME_NAME-theme.md-raised:not([disabled]) md-icon{color:\"{{background-900}}\"}.md-button.md-THEME_NAME-theme.md-raised:not([disabled]):hover{background-color:\"{{background-50}}\"}.md-button.md-THEME_NAME-theme.md-raised:not([disabled]).md-focused{background-color:\"{{background-200}}\"}.md-button.md-THEME_NAME-theme.md-warn{color:\"{{warn-color}}\"}.md-button.md-THEME_NAME-theme.md-warn.md-fab,.md-button.md-THEME_NAME-theme.md-warn.md-raised{color:\"{{warn-contrast}}\";background-color:\"{{warn-color}}\"}.md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]) md-icon,.md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]) md-icoLine truncated
|
||||
})();
|
||||
|
||||
|
||||
})(window, window.angular);;window.ngMaterial={version:{full: "1.1.19"}};
|
||||
})(window, window.angular);;window.ngMaterial={version:{full: "1.1.20"}};
|
||||
+2
-2
@@ -2,6 +2,6 @@
|
||||
* AngularJS Material Design
|
||||
* https://github.com/angular/material
|
||||
* @license MIT
|
||||
* v1.1.19
|
||||
* v1.1.20
|
||||
*/
|
||||
!function(R,ce,me){"use strict";function e(e,t){if(t.has("$swipe")){e.warn("You are using the ngTouch module. \nAngularJS Material already has mobile click, tap, and swipe support... \nngTouch is not supported with AngularJS Material!")}}function t(e,t){e.decorator("$$rAF",["$delegate",n]),e.decorator("$q",["$delegate",o]),t.theme("default").primaryPalette("indigo").accentPalette("pink").warnPalette("deep-orange").backgroundPalette("grey")}function n(r){return r.throttle=function(e){var t,n,o,i;return function(){t=arguments,i=this,o=e,n||(n=!0,r(function(){o.apply(i,Array.prototype.slice.call(t)),n=!1}))}},r}function o(e){return e.resolve||(e.resolve=e.when),e}function i(r){return{restrict:"A",link:{pre:function(e,t,n){var o=n.mdAutoFocus||n.mdAutofocus||n.mdSidenavFocus;i(r(o)(e)),o&&e.$watch(o,i);function i(e){ce.isUndefined(e)&&(e=!0),t.toggleClass("md-autofocus",!!e)}}}}}function r(e,d){function s(){return!0}e&&!ce.isArray(e)&&(e=Array.prototype.slice.call(e)),d=!!d;var l=e||[];return{items:function(){return[].concat(l)},count:function(){return l.length},inRange:c,contains:t,indexOf:m,itemAt:function(e){return c(e)?l[e]:null},findBy:function(t,n){return l.filter(function(e){return e[t]===n})},add:function(e,t){if(!e)return-1;ce.isNumber(t)||(t=l.length);return l.splice(t,0,e),m(e)},remove:function(e){t(e)&&l.splice(m(e),1)},first:u,last:p,next:ce.bind(null,n,!1),previous:ce.bind(null,n,!0),hasPrevious:function(e){return!!e&&c(m(e)-1)},hasNext:function(e){return!!e&&c(m(e)+1)}};function c(e){return l.length&&-1<e&&e<l.length}function m(e){return l.indexOf(e)}function t(e){return e&&-1<m(e)}function u(){return l.length?l[0]:null}function p(){return l.length?l[l.length-1]:null}function n(e,t,n,o){n=n||s;for(var i=m(t);;){if(!c(i))return null;var r=i+(e?-1:1),a=null;if(c(r)?a=l[r]:d&&(r=m(a=e?p():u())),null===a||r===o)return null;if(n(a))return a;ce.isUndefined(o)&&(o=r),i=r}}}function a(a,t,o){var r={},d={},i={},n={};return e.getResponsiveAttribute=function(e,t){for(var n=0;n<a.MEDIA_PRIORITY.length;n++){var o=a.MEDIA_PRIORITY[n];if(d[r[o]].matches){var i=l(e,t+"-"+o);if(e[i])return e[i]}}return e[l(e,t)]},e.getQuery=function(e){return d[e]},e.watchResponsiveAttributes=function(e,o,i){var r=[];return e.forEach(function(e){var t=l(o,e);for(var n in ce.isDefined(o[t])&&r.push(o.$observe(t,ce.bind(void 0,i,null))),a.MEDIA)t=l(o,e+"-"+n),ce.isDefined(o[t])&&r.push(o.$observe(t,ce.bind(void 0,i,n)))}),function(){r.forEach(function(e){e()})}},e;function e(e){var t=r[e];ce.isUndefined(t)&&(t=r[e]=function(e){return a.MEDIA[e]||("("!==e.charAt(0)?"("+e+")":e)}(e));var n=i[t];return ce.isUndefined(n)&&(n=function(e){var t=d[e];t=t||(d[e]=o.matchMedia(e));return t.addListener(s),i[t.media]=!!t.matches}(t)),n}function s(e){t.$evalAsync(function(){i[e.media]=!!e.matches})}function l(e,t){return n[t]||(n[t]=e.$normalize(t))}}function d(e,t){var o=["data","x"];return e?t?n(e):i(e):{buildList:i,buildSelector:n,hasAttribute:function(e,t){if(!(e=r(e)))return!1;for(var n=i(t),o=0;o<n.length;o++)if(e.hasAttribute(n[o]))return!0;return!1},removeAttribute:function(t,e){if(!(t=r(t)))return;i(e).forEach(function(e){t.removeAttribute(e)})}};function i(n){return(n=ce.isArray(n)?n:[n]).forEach(function(t){o.forEach(function(e){n.push(e+"-"+t)})}),n}function n(e){return i(e=ce.isArray(e)?e:[e]).map(function(e){return"["+e+"]"}).join(",")}function r(e){if((e=e[0]||e).nodeType)return e}}function A(e){return e.replace(/-[a-z]/g,function(e){return e.charAt(1).toUpperCase()})}var w,_,k,x,N,s,l,c,m,u,p,h,f,g,b,v,E,$,y,C,M,T;function S(o,i,s,r){var a=this.showWarnings;return{expect:d,expectAsync:l,expectWithText:function(e,t){var n=c(e)||"";-1<n.indexOf(r.startSymbol())?l(e,t,function(){return c(e)}):d(e,t,n)},expectWithoutText:function(e,t){var n=c(e);-1<n.indexOf(r.startSymbol())||n||d(e,t,n)},getText:c,hasAriaLabel:m,parentHasAriaLabel:function e(t,n){n=n||1;var o=ce.element(t)[0]||t;if(!o.parentNode)return!1;if(i(o.parentNode))return!0;n--;if(n)return e(o.parentNode,n);return!1;function i(e){if(!m(e))return!1;if(e.hasAttribute("role"))switch(e.getAttribute("role").toLowerCase()){case"command":case"definition":case"directory":case"grid":case"list":case"listitem":case"log":case"marquee":case"menu":case"menubar":case"note":case"presentation":case"separator":case"scrollbar":case"status":case"tablist":return!1}switch(e.tagName.toLowerCase()){case"abbr":case"acronym":case"address":case"applet":case"audio":case"b":case"bdi":case"bdo":case"big":case"blockquote":case"br":case"canvas":case"caption":case"center":case"cite":case"code":case"col":case"data":case"dd":case"del":case"dfn":case"dir":case"div":case"dl":case"em":case"embed":case"fieldset":case"figcaption":case"font":case"h1":case"h2":case"h3":case"h4":case"h5":case"h6":case"hgroup":case"html":case"i":case"ins":case"isindex":case"kbd":case"keygen":case"label":case"legend":case"li":case"map":case"mark":case"menu":case"object":case"ol":case"output":case"pre":case"presentation":case"q":case"Line truncated
|
||||
!function(R,me,ue){"use strict";function e(e,t){if(t.has("$swipe")){e.warn("You are using the ngTouch module. \nAngularJS Material already has mobile click, tap, and swipe support... \nngTouch is not supported with AngularJS Material!")}}function t(e,t){e.decorator("$$rAF",["$delegate",n]),e.decorator("$q",["$delegate",o]),t.theme("default").primaryPalette("indigo").accentPalette("pink").warnPalette("deep-orange").backgroundPalette("grey")}function n(r){return r.throttle=function(e){var t,n,o,i;return function(){t=arguments,i=this,o=e,n||(n=!0,r(function(){o.apply(i,Array.prototype.slice.call(t)),n=!1}))}},r}function o(e){return e.resolve||(e.resolve=e.when),e}function i(r){return{restrict:"A",link:{pre:function(e,t,n){var o=n.mdAutoFocus||n.mdAutofocus||n.mdSidenavFocus;i(r(o)(e)),o&&e.$watch(o,i);function i(e){me.isUndefined(e)&&(e=!0),t.toggleClass("md-autofocus",!!e)}}}}}function r(e,d){function s(){return!0}e&&!me.isArray(e)&&(e=Array.prototype.slice.call(e)),d=!!d;var l=e||[];return{items:function(){return[].concat(l)},count:function(){return l.length},inRange:c,contains:t,indexOf:m,itemAt:function(e){return c(e)?l[e]:null},findBy:function(t,n){return l.filter(function(e){return e[t]===n})},add:function(e,t){if(!e)return-1;me.isNumber(t)||(t=l.length);return l.splice(t,0,e),m(e)},remove:function(e){t(e)&&l.splice(m(e),1)},first:u,last:p,next:me.bind(null,n,!1),previous:me.bind(null,n,!0),hasPrevious:function(e){return!!e&&c(m(e)-1)},hasNext:function(e){return!!e&&c(m(e)+1)}};function c(e){return l.length&&-1<e&&e<l.length}function m(e){return l.indexOf(e)}function t(e){return e&&-1<m(e)}function u(){return l.length?l[0]:null}function p(){return l.length?l[l.length-1]:null}function n(e,t,n,o){n=n||s;for(var i=m(t);;){if(!c(i))return null;var r=i+(e?-1:1),a=null;if(c(r)?a=l[r]:d&&(r=m(a=e?p():u())),null===a||r===o)return null;if(n(a))return a;me.isUndefined(o)&&(o=r),i=r}}}function a(a,t,o){var r={},d={},i={},n={};return e.getResponsiveAttribute=function(e,t){for(var n=0;n<a.MEDIA_PRIORITY.length;n++){var o=a.MEDIA_PRIORITY[n];if(d[r[o]].matches){var i=l(e,t+"-"+o);if(e[i])return e[i]}}return e[l(e,t)]},e.getQuery=function(e){return d[e]},e.watchResponsiveAttributes=function(e,o,i){var r=[];return e.forEach(function(e){var t=l(o,e);for(var n in me.isDefined(o[t])&&r.push(o.$observe(t,me.bind(void 0,i,null))),a.MEDIA)t=l(o,e+"-"+n),me.isDefined(o[t])&&r.push(o.$observe(t,me.bind(void 0,i,n)))}),function(){r.forEach(function(e){e()})}},e;function e(e){var t=r[e];me.isUndefined(t)&&(t=r[e]=function(e){return a.MEDIA[e]||("("!==e.charAt(0)?"("+e+")":e)}(e));var n=i[t];return me.isUndefined(n)&&(n=function(e){var t=d[e];t=t||(d[e]=o.matchMedia(e));return t.addListener(s),i[t.media]=!!t.matches}(t)),n}function s(e){t.$evalAsync(function(){i[e.media]=!!e.matches})}function l(e,t){return n[t]||(n[t]=e.$normalize(t))}}function d(e,t){var o=["data","x"];return e?t?n(e):i(e):{buildList:i,buildSelector:n,hasAttribute:function(e,t){if(!(e=r(e)))return!1;for(var n=i(t),o=0;o<n.length;o++)if(e.hasAttribute(n[o]))return!0;return!1},removeAttribute:function(t,e){if(!(t=r(t)))return;i(e).forEach(function(e){t.removeAttribute(e)})}};function i(n){return(n=me.isArray(n)?n:[n]).forEach(function(t){o.forEach(function(e){n.push(e+"-"+t)})}),n}function n(e){return i(e=me.isArray(e)?e:[e]).map(function(e){return"["+e+"]"}).join(",")}function r(e){if((e=e[0]||e).nodeType)return e}}function A(e){return e.replace(/-[a-z]/g,function(e){return e.charAt(1).toUpperCase()})}var w,_,k,x,N,s,l,c,m,u,p,h,f,g,b,v,E,$,y,M,C,T;function S(o,i,s,r){var a=this.showWarnings;return{expect:d,expectAsync:l,expectWithText:function(e,t){var n=c(e)||"";-1<n.indexOf(r.startSymbol())?l(e,t,function(){return c(e)}):d(e,t,n)},expectWithoutText:function(e,t){var n=c(e);-1<n.indexOf(r.startSymbol())||n||d(e,t,n)},getText:c,hasAriaLabel:m,parentHasAriaLabel:function e(t,n){n=n||1;var o=me.element(t)[0]||t;if(!o.parentNode)return!1;if(i(o.parentNode))return!0;n--;if(n)return e(o.parentNode,n);return!1;function i(e){if(!m(e))return!1;if(e.hasAttribute("role"))switch(e.getAttribute("role").toLowerCase()){case"command":case"definition":case"directory":case"grid":case"list":case"listitem":case"log":case"marquee":case"menu":case"menubar":case"note":case"presentation":case"separator":case"scrollbar":case"status":case"tablist":return!1}switch(e.tagName.toLowerCase()){case"abbr":case"acronym":case"address":case"applet":case"audio":case"b":case"bdi":case"bdo":case"big":case"blockquote":case"br":case"canvas":case"caption":case"center":case"cite":case"code":case"col":case"data":case"dd":case"del":case"dfn":case"dir":case"div":case"dl":case"em":case"embed":case"fieldset":case"figcaption":case"font":case"h1":case"h2":case"h3":case"h4":case"h5":case"h6":case"hgroup":case"html":case"i":case"ins":case"isindex":case"kbd":case"keygen":case"label":case"legend":case"li":case"map":case"mark":case"menu":case"object":case"ol":case"output":case"pre":case"presentation":case"q":case"Line truncated
|
||||
Reference in new issue
Block a user