You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sirona.apache.org by ol...@apache.org on 2014/08/06 14:26:56 UTC
svn commit: r1616200 [1/3] - in
/incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp: ./
js/ js/app/services/
Author: olamy
Date: Wed Aug 6 12:26:55 2014
New Revision: 1616200
URL: http://svn.apache.org/r1616200
Log:
fix dependencies
Added:
incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/js/angular-1.3.0-beta.17.js (contents, props changed)
- copied, changed from r1616199, incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/js/angular-1.3.0-beta.16.js
incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/js/angular-1.3.0-beta.17.min.js (with props)
incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/js/angular-resource-1.3.0-beta.17.js (contents, props changed)
- copied, changed from r1616199, incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/js/angular-resource-1.2.21.js
incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/js/angular-resource-1.3.0-beta.17.min.js (contents, props changed)
- copied, changed from r1616199, incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/js/angular-resource-1.3.0-beta.16.min.js
incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/js/angular-route-1.3.0-beta.17.js (contents, props changed)
- copied, changed from r1616199, incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/js/angular-route-1.3.0-beta.16.js
incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/js/angular-route-1.3.0-beta.17.min.js (contents, props changed)
- copied, changed from r1616199, incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/js/angular-route-1.3.0-beta.16.min.js
Removed:
incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/js/angular-1.2.21.js
incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/js/angular-1.3.0-beta.16.js
incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/js/angular-1.3.0-beta.16.min.js
incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/js/angular-resource-1.2.21.js
incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/js/angular-resource-1.3.0-beta.16.min.js
incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/js/angular-route-1.2.21.js
incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/js/angular-route-1.3.0-beta.16.js
incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/js/angular-route-1.3.0-beta.16.min.js
Modified:
incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/index.html
incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/js/app/services/services.js
incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/js/main.js
Modified: incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/index.html
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/index.html?rev=1616200&r1=1616199&r2=1616200&view=diff
==============================================================================
--- incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/index.html (original)
+++ incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/index.html Wed Aug 6 12:26:55 2014
@@ -54,6 +54,7 @@
</div>
<div class="collapse navbar-collapse navbar-ex1-collapse">
+ <!-- FIXME this need to be generated/dynamic -->
<ul class="nav navbar-nav side-nav" id="plugins">
<li class="active">
<li>
@@ -61,7 +62,7 @@
</li>
<li class="active">
<li>
- <a href="$mapping$plugin.url">$plugin.name</a>
+ <a href="#jvm">jvm</a>
</li>
</ul>
Copied: incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/js/angular-1.3.0-beta.17.js (from r1616199, incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/js/angular-1.3.0-beta.16.js)
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/js/angular-1.3.0-beta.17.js?p2=incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/js/angular-1.3.0-beta.17.js&p1=incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/js/angular-1.3.0-beta.16.js&r1=1616199&r2=1616200&rev=1616200&view=diff
==============================================================================
--- incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/js/angular-1.3.0-beta.16.js (original)
+++ incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/js/angular-1.3.0-beta.17.js Wed Aug 6 12:26:55 2014
@@ -1,5 +1,5 @@
/**
- * @license AngularJS v1.3.0-beta.16
+ * @license AngularJS v1.3.0-beta.17
* (c) 2010-2014 Google, Inc. http://angularjs.org
* License: MIT
*/
@@ -68,7 +68,7 @@ function minErr(module) {
return match;
});
- message = message + '\nhttp://errors.angularjs.org/1.3.0-beta.16/' +
+ message = message + '\nhttp://errors.angularjs.org/1.3.0-beta.17/' +
(module ? module + '/' : '') + code;
for (i = 2; i < arguments.length; i++) {
message = message + (i == 2 ? '?' : '&') + 'p' + (i-2) + '=' +
@@ -126,6 +126,7 @@ function minErr(module) {
isFile: true,
isBlob: true,
isBoolean: true,
+ isPromiseLike: true,
trim: true,
isElement: true,
makeMap: true,
@@ -648,6 +649,11 @@ function isBoolean(value) {
}
+function isPromiseLike(obj) {
+ return obj && isFunction(obj.then);
+}
+
+
var trim = (function() {
// native trim is way faster: http://jsperf.com/angular-trim-test
// but IE doesn't have it... :-(
@@ -848,7 +854,8 @@ function copy(source, destination, stack
} else if (isDate(source)) {
destination = new Date(source.getTime());
} else if (isRegExp(source)) {
- destination = new RegExp(source.source);
+ destination = new RegExp(source.source, source.toString().match(/[^\/]*$/)[0]);
+ destination.lastIndex = source.lastIndex;
} else if (isObject(source)) {
var emptyObject = Object.create(Object.getPrototypeOf(source));
destination = copy(source, emptyObject, stackSource, stackDest);
@@ -1254,7 +1261,7 @@ function encodeUriQuery(val, pctEncodeSp
var ngAttrPrefixes = ['ng-', 'data-ng-', 'ng:', 'x-ng-'];
function getNgAttribute(element, ngAttr) {
- var attr, i, ii = ngAttrPrefixes.length, j, jj;
+ var attr, i, ii = ngAttrPrefixes.length;
element = jqLite(element);
for (i=0; i<ii; ++i) {
attr = ngAttrPrefixes[i] + ngAttr;
@@ -2060,11 +2067,11 @@ function setupModuleLoader(window) {
* - `codeName` â `{string}` â Code name of the release, such as "jiggling-armfat".
*/
var version = {
- full: '1.3.0-beta.16', // all of these placeholder strings will be replaced by grunt's
+ full: '1.3.0-beta.17', // all of these placeholder strings will be replaced by grunt's
major: 1, // package task
minor: 3,
dot: 0,
- codeName: 'pizza-transubstantiation'
+ codeName: 'turing-autocompletion'
};
@@ -3144,7 +3151,9 @@ forEach({
clone: jqLiteClone,
triggerHandler: function(element, eventName, eventData) {
- var eventFns = (jqLiteExpandoStore(element, 'events') || {})[eventName];
+ // Copy event handlers in case event handlers array is modified during execution.
+ var eventFns = (jqLiteExpandoStore(element, 'events') || {})[eventName],
+ eventFnsCopy = shallowCopy(eventFns || []);
eventData = eventData || [];
@@ -3158,7 +3167,7 @@ forEach({
stopPropagation: noop
}];
- forEach(eventFns, function(fn) {
+ forEach(eventFnsCopy, function(fn) {
fn.apply(element, event.concat(eventData));
});
}
@@ -5438,7 +5447,7 @@ function $TemplateCacheProvider() {
* String of subset of `EACM` which restricts the directive to a specific directive
* declaration style. If omitted, the default (attributes only) is used.
*
- * * `E` - Element name: `<my-directive></my-directive>`
+ * * `E` - Element name (default): `<my-directive></my-directive>`
* * `A` - Attribute (default): `<div my-directive="exp"></div>`
* * `C` - Class: `<div class="my-directive: exp;"></div>`
* * `M` - Comment: `<!-- directive: my-directive exp -->`
@@ -5806,7 +5815,7 @@ function $CompileProvider($provide, $$sa
directive.index = index;
directive.name = directive.name || name;
directive.require = directive.require || (directive.controller && directive.name);
- directive.restrict = directive.restrict || 'A';
+ directive.restrict = directive.restrict || 'EA';
directives.push(directive);
} catch (e) {
$exceptionHandler(e);
@@ -8318,7 +8327,7 @@ function $HttpProvider() {
* Shortcut method to perform `JSONP` request.
*
* @param {string} url Relative or absolute URL specifying the destination of the request.
- * Should contain `JSON_CALLBACK` string.
+ * The name of the callback should be the string `JSON_CALLBACK`.
* @param {Object=} config Optional configuration object
* @returns {HttpPromise} Future object
*/
@@ -8431,7 +8440,7 @@ function $HttpProvider() {
if (cache) {
cachedResp = cache.get(url);
if (isDefined(cachedResp)) {
- if (cachedResp.then) {
+ if (isPromiseLike(cachedResp)) {
// cached request has already been sent, but there is no response yet
cachedResp.then(removePendingReq, removePendingReq);
return cachedResp;
@@ -8513,31 +8522,29 @@ function $HttpProvider() {
function buildUrl(url, params) {
- if (!params) return url;
- var parts = [];
- forEachSorted(params, function(value, key) {
- if (value === null || isUndefined(value)) return;
- if (!isArray(value)) value = [value];
-
- forEach(value, function(v) {
- if (isObject(v)) {
- if (isDate(v)){
- v = v.toISOString();
- } else if (isObject(v)) {
- v = toJson(v);
- }
- }
- parts.push(encodeUriQuery(key) + '=' +
- encodeUriQuery(v));
- });
- });
- if(parts.length > 0) {
- url += ((url.indexOf('?') == -1) ? '?' : '&') + parts.join('&');
+ if (!params) return url;
+ var parts = [];
+ forEachSorted(params, function(value, key) {
+ if (value === null || isUndefined(value)) return;
+ if (!isArray(value)) value = [value];
+
+ forEach(value, function(v) {
+ if (isObject(v)) {
+ if (isDate(v)){
+ v = v.toISOString();
+ } else if (isObject(v)) {
+ v = toJson(v);
+ }
}
- return url;
- }
-
-
+ parts.push(encodeUriQuery(key) + '=' +
+ encodeUriQuery(v));
+ });
+ });
+ if(parts.length > 0) {
+ url += ((url.indexOf('?') == -1) ? '?' : '&') + parts.join('&');
+ }
+ return url;
+ }
}];
}
@@ -8673,7 +8680,7 @@ function createHttpBackend($browser, cre
if (timeout > 0) {
var timeoutId = $browserDefer(timeoutRequest, timeout);
- } else if (timeout && timeout.then) {
+ } else if (isPromiseLike(timeout)) {
timeout.then(timeoutRequest);
}
@@ -8867,9 +8874,9 @@ function $InterpolateProvider() {
*
* // "allOrNothing" mode
* exp = $interpolate('{{greeting}} {{name}}!', false, null, true);
- * expect(exp(context, true)).toBeUndefined();
+ * expect(exp(context)).toBeUndefined();
* context.name = 'Angular';
- * expect(exp(context, true)).toEqual('Hello Angular!');
+ * expect(exp(context)).toEqual('Hello Angular!');
* ```
*
* `allOrNothing` is useful for interpolating URLs. `ngSrc` and `ngSrcset` use this behavior.
@@ -11191,7 +11198,7 @@ function getterFn(path, options, fullExp
// we simply dereference 's' on any .dot notation
? 's'
// but if we are first then we check locals first, and if so read it first
- : '((k&&k.hasOwnProperty("' + key + '"))?k:s)') + '["' + key + '"]' + ';\n';
+ : '((k&&k.hasOwnProperty("' + key + '"))?k:s)') + '.' + key + ';\n';
});
code += 'return s;';
@@ -11367,6 +11374,46 @@ function $ParseProvider() {
* @description
* A promise/deferred implementation inspired by [Kris Kowal's Q](https://github.com/kriskowal/q).
*
+ * $q can be used in two fashions --- One, which is more similar to Kris Kowal's Q or jQuery's Deferred
+ * implementations, the other resembles ES6 promises to some degree.
+ *
+ * # $q constructor
+ *
+ * The streamlined ES6 style promise is essentially just using $q as a constructor which takes a `resolver`
+ * function as the first argument). This is similar to the native Promise implementation from ES6 Harmony,
+ * see [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise).
+ *
+ * While the constructor-style use is supported, not all of the supporting methods from Harmony promises are
+ * available yet.
+ *
+ * It can be used like so:
+ *
+ * ```js
+ * return $q(function(resolve, reject) {
+ * // perform some asynchronous operation, resolve or reject the promise when appropriate.
+ * setInterval(function() {
+ * if (pollStatus > 0) {
+ * resolve(polledValue);
+ * } else if (pollStatus < 0) {
+ * reject(polledValue);
+ * } else {
+ * pollStatus = pollAgain(function(value) {
+ * polledValue = value;
+ * });
+ * }
+ * }, 10000);
+ * }).
+ * then(function(value) {
+ * // handle success
+ * }, function(reason) {
+ * // handle failure
+ * });
+ * ```
+ *
+ * Note, progress/notify callbacks are not currently supported via the ES6-style interface.
+ *
+ * However, the more traditional CommonJS style usage is still available, and documented below.
+ *
* [The CommonJS Promise proposal](http://wiki.commonjs.org/wiki/Promises) describes a promise as an
* interface for interacting with an object that represents the result of an action that is
* performed asynchronously, and may or may not be finished at any given point in time.
@@ -11413,7 +11460,6 @@ function $ParseProvider() {
* For more on this please see the [Q documentation](https://github.com/kriskowal/q) especially the
* section on serial or parallel joining of promises.
*
- *
* # The Deferred API
*
* A new instance of deferred is constructed by calling `$q.defer()`.
@@ -11522,6 +11568,12 @@ function $ParseProvider() {
* expect(resolvedValue).toEqual(123);
* }));
* ```
+ *
+ * @param {function(function, function)} resolver Function which is responsible for resolving or
+ * rejecting the newly created promise. The first parameteter is a function which resolves the
+ * promise, the second parameter is a function which rejects the promise.
+ *
+ * @returns {Promise} The newly created promise.
*/
function $QProvider() {
@@ -11669,7 +11721,7 @@ function qFactory(nextTick, exceptionHan
} catch(e) {
return makePromise(e, false);
}
- if (callbackOutput && isFunction(callbackOutput.then)) {
+ if (isPromiseLike(callbackOutput)) {
return callbackOutput.then(function() {
return makePromise(value, isResolved);
}, function(error) {
@@ -11694,7 +11746,7 @@ function qFactory(nextTick, exceptionHan
var ref = function(value) {
- if (value && isFunction(value.then)) return value;
+ if (isPromiseLike(value)) return value;
return {
then: function(callback) {
var result = defer();
@@ -11878,12 +11930,38 @@ function qFactory(nextTick, exceptionHan
return deferred.promise;
}
- return {
- defer: defer,
- reject: reject,
- when: when,
- all: all
+ var $Q = function Q(resolver) {
+ if (!isFunction(resolver)) {
+ // TODO(@caitp): minErr this
+ throw new TypeError('Expected resolverFn');
+ }
+
+ if (!(this instanceof Q)) {
+ // More useful when $Q is the Promise itself.
+ return new Q(resolver);
+ }
+
+ var deferred = defer();
+
+ function resolveFn(value) {
+ deferred.resolve(value);
+ }
+
+ function rejectFn(reason) {
+ deferred.reject(reason);
+ }
+
+ resolver(resolveFn, rejectFn);
+
+ return deferred.promise;
};
+
+ $Q.defer = defer;
+ $Q.reject = reject;
+ $Q.when = when;
+ $Q.all = all;
+
+ return $Q;
}
function $$RAFProvider(){ //rAF
@@ -12233,13 +12311,12 @@ function $RootScopeProvider(){
*
* - `string`: Evaluated as {@link guide/expression expression}
* - `function(scope)`: called with current `scope` as a parameter.
- * @param {function()=} listener Callback called whenever the return value of
- * the `watchExpression` changes.
- *
- * - `string`: Evaluated as {@link guide/expression expression}
- * - `function(newValue, oldValue, scope)`: called with current and previous values as
- * parameters.
+ * @param {function(newVal, oldVal, scope)} listener Callback called whenever the value
+ * of `watchExpression` changes.
*
+ * - `newVal` contains the current value of the `watchExpression`
+ * - `oldVal` contains the previous value of the `watchExpression`
+ * - `scope` refers to the current scope
* @param {boolean=} objectEquality Compare for object equality using {@link angular.equals} instead of
* comparing for reference equality.
* @param {function()=} deregisterNotifier Function to call when the deregistration function
@@ -16180,6 +16257,7 @@ forEach(BOOLEAN_ATTR, function(propName,
var normalized = directiveNormalize('ng-' + attrName);
ngAttributeAliasDirectives[normalized] = function() {
return {
+ restrict: 'A',
priority: 100,
link: function(scope, element, attr) {
scope.$watch(attr[normalized], function ngBooleanAttrWatchAction(value) {
@@ -16232,8 +16310,12 @@ forEach(['src', 'srcset', 'href'], funct
}
attr.$observe(normalized, function(value) {
- if (!value)
- return;
+ if (!value) {
+ if (attrName === 'href') {
+ attr.$set(name, null);
+ }
+ return;
+ }
attr.$set(name, value);
@@ -18866,6 +18948,7 @@ var NgModelController = ['$scope', '$exc
*/
var ngModelDirective = function() {
return {
+ restrict: 'A',
require: ['ngModel', '^?form', '^?ngModelOptions'],
controller: NgModelController,
link: {
@@ -18967,6 +19050,7 @@ var ngModelDirective = function() {
* </example>
*/
var ngChangeDirective = valueFn({
+ restrict: 'A',
require: 'ngModel',
link: function(scope, element, attr, ctrl) {
ctrl.$viewChangeListeners.push(function() {
@@ -18978,6 +19062,7 @@ var ngChangeDirective = valueFn({
var requiredDirective = function() {
return {
+ restrict: 'A',
require: '?ngModel',
link: function(scope, elm, attr, ctrl) {
if (!ctrl) return;
@@ -18997,6 +19082,7 @@ var requiredDirective = function() {
var patternDirective = function() {
return {
+ restrict: 'A',
require: '?ngModel',
link: function(scope, elm, attr, ctrl) {
if (!ctrl) return;
@@ -19027,6 +19113,7 @@ var patternDirective = function() {
var maxlengthDirective = function() {
return {
+ restrict: 'A',
require: '?ngModel',
link: function(scope, elm, attr, ctrl) {
if (!ctrl) return;
@@ -19045,6 +19132,7 @@ var maxlengthDirective = function() {
var minlengthDirective = function() {
return {
+ restrict: 'A',
require: '?ngModel',
link: function(scope, elm, attr, ctrl) {
if (!ctrl) return;
@@ -19146,6 +19234,7 @@ var minlengthDirective = function() {
*/
var ngListDirective = function() {
return {
+ restrict: 'A',
require: 'ngModel',
link: function(scope, element, attr, ctrl) {
// We want to control whitespace trimming so we use this convoluted approach
@@ -19242,6 +19331,7 @@ var CONSTANT_VALUE_REGEXP = /^(true|fals
*/
var ngValueDirective = function() {
return {
+ restrict: 'A',
priority: 100,
compile: function(tpl, tplAttr) {
if (CONSTANT_VALUE_REGEXP.test(tplAttr.ngValue)) {
@@ -19404,6 +19494,7 @@ var ngValueDirective = function() {
*/
var ngModelOptionsDirective = function() {
return {
+ restrict: 'A',
controller: ['$scope', '$attrs', function($scope, $attrs) {
var that = this;
this.$options = $scope.$eval($attrs.ngModelOptions);
@@ -19435,7 +19526,7 @@ var ngModelOptionsDirective = function()
* Typically, you don't use `ngBind` directly, but instead you use the double curly markup like
* `{{ expression }}` which is similar but less verbose.
*
- * It is preferable to use `ngBind` instead of `{{ expression }}` when a template is momentarily
+ * It is preferable to use `ngBind` instead of `{{ expression }}` if a template is momentarily
* displayed by the browser in its raw state before Angular compiles it. Since `ngBind` is an
* element attribute, it makes the bindings invisible to the user while the page is loading.
*
@@ -19600,6 +19691,7 @@ var ngBindTemplateDirective = ['$interpo
*/
var ngBindHtmlDirective = ['$sce', '$parse', function($sce, $parse) {
return {
+ restrict: 'A',
compile: function (tElement, tAttrs) {
tElement.addClass('ng-binding');
@@ -20262,6 +20354,7 @@ var ngCloakDirective = ngDirective({
*/
var ngControllerDirective = [function() {
return {
+ restrict: 'A',
scope: true,
controller: '@',
priority: 500
@@ -20366,6 +20459,7 @@ forEach(
var directiveName = directiveNormalize('ng-' + name);
ngEventDirectives[directiveName] = ['$parse', function($parse) {
return {
+ restrict: 'A',
compile: function($element, attr) {
var fn = $parse(attr[directiveName]);
return function ngEventHandler(scope, element) {
@@ -21582,6 +21676,13 @@ var ngPluralizeDirective = ['$locale', '
* For example: `item in items` is equivalent to `item in items track by $id(item)`. This implies that the DOM elements
* will be associated by item identity in the array.
*
+ * * `variable in expression as alias_expression` â You can also provide an optional alias expression which will then store the
+ * intermediate results of the repeater after the filters have been applied. Typically this is used to render a special message
+ * when a filter is active on the repeater, but the filtered result set is empty.
+ *
+ * For example: `item in items | filter:x as results` will store the fragment of the repeated items as `results`, but only after
+ * the items have been processed through the filter.
+ *
* For example: `item in items track by $id(item)`. A built in `$id()` function can be used to assign a unique
* `$$hashKey` property to each item in the array. This property is then used as a key to associated DOM elements
* with the corresponding item in the array by identity. Moving the same object in array would move the DOM
@@ -21614,9 +21715,12 @@ var ngPluralizeDirective = ['$locale', '
I have {{friends.length}} friends. They are:
<input type="search" ng-model="q" placeholder="filter friends..." />
<ul class="example-animate-container">
- <li class="animate-repeat" ng-repeat="friend in friends | filter:q">
+ <li class="animate-repeat" ng-repeat="friend in friends | filter:q as results">
[{{$index + 1}}] {{friend.name}} who is {{friend.age}} years old.
</li>
+ <li class="animate-repeat" ng-if="results.length == 0">
+ <strong>No results found...</strong>
+ </li>
</ul>
</div>
</file>
@@ -21684,6 +21788,7 @@ var ngRepeatDirective = ['$parse', '$ani
var NG_REMOVED = '$$NG_REMOVED';
var ngRepeatMinErr = minErr('ngRepeat');
return {
+ restrict: 'A',
multiElement: true,
transclude: 'element',
priority: 1000,
@@ -21691,8 +21796,8 @@ var ngRepeatDirective = ['$parse', '$ani
$$tlb: true,
link: function($scope, $element, $attr, ctrl, $transclude){
var expression = $attr.ngRepeat;
- var match = expression.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?\s*$/),
- trackByExp, trackByExpGetter, trackByIdExpFn, trackByIdArrayFn, trackByIdObjFn,
+ var match = expression.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/),
+ trackByExp, trackByExpGetter, aliasAs, trackByIdExpFn, trackByIdArrayFn, trackByIdObjFn,
lhs, rhs, valueIdentifier, keyIdentifier,
hashFnLocals = {$id: hashKey};
@@ -21703,7 +21808,8 @@ var ngRepeatDirective = ['$parse', '$ani
lhs = match[1];
rhs = match[2];
- trackByExp = match[3];
+ aliasAs = match[3];
+ trackByExp = match[4];
if (trackByExp) {
trackByExpGetter = $parse(trackByExp);
@@ -21755,6 +21861,10 @@ var ngRepeatDirective = ['$parse', '$ani
nextBlockOrder = [],
elementsToRemove;
+ if (aliasAs) {
+ $scope[aliasAs] = collection;
+ }
+
var updateScope = function(scope, index) {
scope[valueIdentifier] = value;
if (keyIdentifier) scope[keyIdentifier] = key;
@@ -22031,6 +22141,7 @@ var ngRepeatDirective = ['$parse', '$ani
*/
var ngShowDirective = ['$animate', function($animate) {
return {
+ restrict: 'A',
multiElement: true,
link: function(scope, element, attr) {
scope.$watch(attr.ngShow, function ngShowWatchAction(value){
@@ -22185,6 +22296,7 @@ var ngShowDirective = ['$animate', funct
*/
var ngHideDirective = ['$animate', function($animate) {
return {
+ restrict: 'A',
multiElement: true,
link: function(scope, element, attr) {
scope.$watch(attr.ngHide, function ngHideWatchAction(value){
@@ -22709,7 +22821,11 @@ var ngOptionsMinErr = minErr('ngOptions'
</example>
*/
-var ngOptionsDirective = valueFn({ terminal: true });
+var ngOptionsDirective = valueFn({
+ restrict: 'A',
+ terminal: true
+});
+
// jshint maxlen: false
var selectDirective = ['$compile', '$parse', function($compile, $parse) {
//000011111111110000000000022222222220000000000000000000003333333333000000000000004444444444444440000000005555555555555550000000666666666666666000000000000000777777777700000000000000000008888888888
Propchange: incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/js/angular-1.3.0-beta.17.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/sirona/trunk/server/reporting/reporting-ui/src/main/webapp/js/angular-1.3.0-beta.17.js
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision