@angular-wave/angular.ts 0.6.3 → 0.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/angular-ts.esm.js +2 -2
- package/dist/angular-ts.umd.js +2 -2
- package/package.json +1 -1
- package/src/angular.spec.js +2 -2
- package/src/animations/animate-children-directive.js +1 -1
- package/src/animations/animate-css-driver.js +2 -2
- package/src/animations/animate-css.js +1 -1
- package/src/animations/animate-js.js +1 -1
- package/src/animations/animate-queue.js +2 -2
- package/src/animations/animate.js +2 -2
- package/src/animations/animate.spec.js +3 -3
- package/src/animations/animation.js +2 -2
- package/src/binding.spec.js +1 -1
- package/src/core/cache/cache.js +1 -1
- package/src/core/compile/attributes.js +3 -3
- package/src/core/compile/compile.js +13 -140
- package/src/core/compile/compile.md +0 -8
- package/src/core/compile/compile.spec.js +35 -639
- package/src/core/controller/controller.js +1 -1
- package/src/core/di/injector.js +1 -1
- package/src/core/di/injector.spec.js +1 -1
- package/src/core/di/internal-injector.js +1 -1
- package/src/core/di/ng-module.js +1 -1
- package/src/core/filter/filter.js +1 -1
- package/src/core/interpolate/interpolate.js +1 -1
- package/src/core/interval/interval-factory.js +1 -1
- package/src/core/interval/interval.js +1 -1
- package/src/core/location/location.js +3 -3
- package/src/core/on.spec.js +1 -1
- package/src/core/parse/interpreter.js +1 -1
- package/src/core/prop.spec.js +2 -2
- package/src/core/q/q.js +1 -1
- package/src/core/root-element.spec.js +1 -1
- package/src/core/sanitize/sanitize-uri.js +1 -1
- package/src/core/sce/sce.js +2 -2
- package/src/core/sce/sce.spec.js +1 -1
- package/src/core/scope/scope.js +1 -1
- package/src/core/scope/scope.spec.js +1 -1
- package/src/core/timeout/timeout.js +1 -1
- package/src/core/url-utils/url-utils.js +1 -1
- package/src/directive/aria/aria.js +1 -1
- package/src/directive/aria/aria.spec.js +1 -1
- package/src/directive/attrs/attrs.js +3 -3
- package/src/directive/attrs/attrs.spec.js +1 -1
- package/src/directive/attrs/boolean.spec.js +1 -1
- package/src/directive/attrs/element-style.spec.js +1 -1
- package/src/directive/attrs/src.spec.js +1 -1
- package/src/directive/bind/bind.js +1 -1
- package/src/directive/bind/bind.spec.js +1 -1
- package/src/directive/bind/bing-html.spec.js +1 -1
- package/src/directive/change/change.spec.js +1 -1
- package/src/directive/class/class.js +1 -1
- package/src/directive/class/class.spec.js +2 -2
- package/src/directive/cloak/cloak.spec.js +1 -1
- package/src/directive/controller/controller.spec.js +2 -2
- package/src/directive/events/click.spec.js +1 -1
- package/src/directive/events/event.spec.js +1 -1
- package/src/directive/events/events.js +2 -2
- package/src/directive/form/form.js +2 -2
- package/src/directive/form/form.spec.js +1 -1
- package/src/directive/if/if.js +2 -3
- package/src/directive/if/if.md +0 -1
- package/src/directive/if/if.spec.js +2 -2
- package/src/directive/include/include.js +3 -3
- package/src/directive/include/include.spec.js +2 -2
- package/src/directive/init/init.spec.js +1 -1
- package/src/directive/input/input.js +1 -1
- package/src/directive/input/input.spec.js +1 -1
- package/src/directive/messages/messages.js +1 -1
- package/src/directive/messages/messages.spec.js +3 -3
- package/src/directive/model/model.js +6 -6
- package/src/directive/model/model.spec.js +2 -2
- package/src/directive/model-options/model-options.js +1 -1
- package/src/directive/model-options/model-options.spec.js +2 -2
- package/src/directive/non-bindable/non-bindable.spec.js +1 -1
- package/src/directive/observe/observe.spec.js +1 -1
- package/src/directive/options/options.js +6 -2
- package/src/directive/options/options.spec.js +2 -2
- package/src/directive/ref/href.spec.js +2 -2
- package/src/directive/ref/ref.js +1 -1
- package/src/directive/repeat/repeat.js +263 -255
- package/src/directive/repeat/repeat.md +0 -22
- package/src/directive/repeat/repeat.spec.js +2 -115
- package/src/directive/script/script.spec.js +1 -1
- package/src/directive/select/select.js +2 -2
- package/src/directive/select/select.spec.js +2 -2
- package/src/directive/show-hide/show-hide.js +1 -3
- package/src/directive/show-hide/show-hide.md +0 -2
- package/src/directive/show-hide/show-hide.spec.js +1 -1
- package/src/directive/style/style.spec.js +1 -1
- package/src/directive/switch/switch.js +2 -4
- package/src/directive/switch/switch.spec.js +1 -51
- package/src/directive/transclude/transclude.js +2 -2
- package/src/directive/validators/validators.js +2 -2
- package/src/directive/validators/validators.spec.js +1 -1
- package/src/filters/filter.js +1 -1
- package/src/filters/filter.spec.js +2 -2
- package/src/filters/filters.js +1 -1
- package/src/filters/filters.spec.js +1 -1
- package/src/filters/limit-to.js +1 -1
- package/src/filters/limit-to.spec.js +1 -1
- package/src/filters/order-by.js +1 -1
- package/src/index.js +3 -9
- package/src/loader.js +10 -5
- package/src/router/common/trace.js +1 -1
- package/src/router/directives/state-directives.js +1 -1
- package/src/router/directives/state-directives.spec.js +1 -1
- package/src/router/directives/view-directive.js +2 -2
- package/src/router/directives/view-directive.spec.js +1 -1
- package/src/router/hooks/redirect-to.js +1 -1
- package/src/router/params/param-type.js +1 -1
- package/src/router/params/param-types.js +1 -1
- package/src/router/params/param.js +1 -1
- package/src/router/resolve/resolvable.js +1 -1
- package/src/router/resolve/resolve-context.js +1 -1
- package/src/router/state/state-builder.js +1 -1
- package/src/router/state/state-matcher.js +1 -1
- package/src/router/state/state-object.js +1 -1
- package/src/router/state/state-queue-manager.js +1 -1
- package/src/router/state/state-registry.js +1 -1
- package/src/router/state/state-service.js +1 -1
- package/src/router/state/state.spec.js +2 -2
- package/src/router/state/target-state.js +1 -1
- package/src/router/state/views.js +1 -1
- package/src/router/state-provider.js +1 -1
- package/src/router/template-factory.js +1 -1
- package/src/router/template-factory.spec.js +1 -1
- package/src/router/transition/hook-registry.js +1 -1
- package/src/router/transition/transition-service.js +1 -1
- package/src/router/transition/transition.js +1 -1
- package/src/router/url/url-config.js +1 -1
- package/src/router/url/url-matcher.js +1 -1
- package/src/router/url/url-rule.js +1 -1
- package/src/router/url/url-rules.js +1 -1
- package/src/router/url/url-service.js +6 -1
- package/src/router/url/url-service.spec.js +1 -1
- package/src/router/view/view.spec.js +1 -1
- package/src/router/view-hook.spec.js +1 -1
- package/src/router/view-scroll.spec.js +1 -1
- package/src/services/anchor-scroll.js +1 -1
- package/src/services/browser.js +2 -2
- package/src/services/cookie-reader.js +1 -1
- package/src/services/http/http.js +2 -2
- package/src/services/http/http.spec.js +1 -1
- package/src/services/http-backend/http-backend.js +1 -1
- package/src/services/log.js +1 -1
- package/src/services/template-request.js +1 -1
- package/src/shared/common.js +1 -1
- package/src/shared/jqlite/jqlite.js +9 -9
- package/src/shared/jqlite/jqlite.spec.js +11 -11
- package/src/shared/min-err.spec.js +6 -1
- package/src/shared/predicates.js +1 -1
- package/src/shared/strings.js +1 -1
- package/src/shared/test-utils.js +1 -1
- package/src/shared/utils.js +1 -1
- package/src/shared/utils.spec.js +1 -1
- package/src/types.js +0 -2
- package/types/animations/animate-css-driver.d.ts +1 -1
- package/types/animations/animate.d.ts +1 -1
- package/types/core/cache/cache.d.ts +1 -1
- package/types/core/compile/attributes.d.ts +2 -2
- package/types/core/compile/compile.d.ts +1 -1
- package/types/core/location/location.d.ts +1 -1
- package/types/directive/model/model.d.ts +1 -1
- package/types/directive/repeat/repeat.d.ts +0 -1
- package/types/loader.d.ts +2 -0
- package/types/services/browser.d.ts +1 -1
- package/types/shared/jqlite/jqlite.d.ts +1 -1
- package/types/shared/test-utils.d.ts +1 -1
- package/types/types.d.ts +1 -5
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@angular-wave/angular.ts",
|
|
3
3
|
"description": "A modern, optimized and typesafe version of AngularJS",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "0.6.
|
|
5
|
+
"version": "0.6.4",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "dist/angular-ts.esm.js",
|
|
8
8
|
"browser": "dist/angular-ts.umd.js",
|
package/src/angular.spec.js
CHANGED
|
@@ -22,8 +22,8 @@ import {
|
|
|
22
22
|
nextUid,
|
|
23
23
|
getNodeName,
|
|
24
24
|
snakeCase,
|
|
25
|
-
} from "./shared/utils";
|
|
26
|
-
import { dealoc, JQLite, startingTag } from "./shared/jqlite/jqlite";
|
|
25
|
+
} from "./shared/utils.js";
|
|
26
|
+
import { dealoc, JQLite, startingTag } from "./shared/jqlite/jqlite.js";
|
|
27
27
|
import { Angular } from "./loader";
|
|
28
28
|
import { createInjector } from "./core/di/injector";
|
|
29
29
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { JQLite } from "../shared/jqlite/jqlite";
|
|
2
|
-
import { isString } from "../shared/utils";
|
|
1
|
+
import { JQLite } from "../shared/jqlite/jqlite.js";
|
|
2
|
+
import { isString } from "../shared/utils.js";
|
|
3
3
|
import { concatWithSpace, getDomNode } from "./shared";
|
|
4
4
|
|
|
5
5
|
const NG_ANIMATE_SHIM_CLASS_NAME = "ng-animate-shim";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getOrSetCacheData, JQLite } from "../shared/jqlite/jqlite";
|
|
1
|
+
import { getOrSetCacheData, JQLite } from "../shared/jqlite/jqlite.js";
|
|
2
2
|
import {
|
|
3
3
|
isUndefined,
|
|
4
4
|
isObject,
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
isElement,
|
|
7
7
|
isDefined,
|
|
8
8
|
extend,
|
|
9
|
-
} from "../shared/utils";
|
|
9
|
+
} from "../shared/utils.js";
|
|
10
10
|
import {
|
|
11
11
|
NG_ANIMATE_CHILDREN_DATA,
|
|
12
12
|
applyAnimationClassesFactory,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { isFunction, isObject, minErr, extend } from "../shared/utils";
|
|
2
|
-
import { JQLite } from "../shared/jqlite/jqlite";
|
|
1
|
+
import { isFunction, isObject, minErr, extend } from "../shared/utils.js";
|
|
2
|
+
import { JQLite } from "../shared/jqlite/jqlite.js";
|
|
3
3
|
import { NG_ANIMATE_CLASSNAME } from "./shared";
|
|
4
4
|
|
|
5
5
|
/** @typedef {"enter"|"leave"|"move"|"addClass"|"setClass"|"removeClass"} AnimationMethod */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { dealoc, JQLite } from "../../shared/jqlite/jqlite";
|
|
1
|
+
import { dealoc, JQLite } from "../../shared/jqlite/jqlite.js";
|
|
2
2
|
import { Angular } from "../../loader";
|
|
3
|
-
import { isObject } from "../../shared/utils";
|
|
4
|
-
import { isFunction } from "../../shared/utils";
|
|
3
|
+
import { isObject } from "../../shared/utils.js";
|
|
4
|
+
import { isFunction } from "../../shared/utils.js";
|
|
5
5
|
import { createInjector } from "../di/injector";
|
|
6
6
|
|
|
7
7
|
describe("$animate", () => {
|
package/src/binding.spec.js
CHANGED
package/src/core/cache/cache.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getBooleanAttrName } from "../../shared/jqlite/jqlite";
|
|
1
|
+
import { getBooleanAttrName } from "../../shared/jqlite/jqlite.js";
|
|
2
2
|
import {
|
|
3
3
|
isString,
|
|
4
4
|
snakeCase,
|
|
@@ -7,8 +7,8 @@ import {
|
|
|
7
7
|
minErr,
|
|
8
8
|
trim,
|
|
9
9
|
directiveNormalize,
|
|
10
|
-
} from "../../shared/utils";
|
|
11
|
-
import { ALIASED_ATTR } from "../../shared/constants";
|
|
10
|
+
} from "../../shared/utils.js";
|
|
11
|
+
import { ALIASED_ATTR } from "../../shared/constants.js";
|
|
12
12
|
|
|
13
13
|
const $compileMinErr = minErr("$compile");
|
|
14
14
|
const SIMPLE_ATTR_NAME = /^\w/;
|
|
@@ -5,9 +5,9 @@ import {
|
|
|
5
5
|
getOrSetCacheData,
|
|
6
6
|
isTextNode,
|
|
7
7
|
startingTag,
|
|
8
|
-
} from "../../shared/jqlite/jqlite";
|
|
9
|
-
import { identifierForController } from "../controller/controller";
|
|
10
|
-
import { TTL } from "../scope/scope";
|
|
8
|
+
} from "../../shared/jqlite/jqlite.js";
|
|
9
|
+
import { identifierForController } from "../controller/controller.js";
|
|
10
|
+
import { TTL } from "../scope/scope.js";
|
|
11
11
|
import {
|
|
12
12
|
minErr,
|
|
13
13
|
assertArg,
|
|
@@ -31,13 +31,13 @@ import {
|
|
|
31
31
|
simpleCompare,
|
|
32
32
|
isError,
|
|
33
33
|
directiveNormalize,
|
|
34
|
-
} from "../../shared/utils";
|
|
35
|
-
import { SCE_CONTEXTS } from "../sce/sce";
|
|
36
|
-
import { PREFIX_REGEXP } from "../../shared/constants";
|
|
37
|
-
import { createEventDirective } from "../../directive/events/events";
|
|
38
|
-
import {
|
|
39
|
-
import { Attributes } from "./attributes";
|
|
40
|
-
import { ngObserveDirective } from "../../directive/observe/observe";
|
|
34
|
+
} from "../../shared/utils.js";
|
|
35
|
+
import { SCE_CONTEXTS } from "../sce/sce.js";
|
|
36
|
+
import { PREFIX_REGEXP } from "../../shared/constants.js";
|
|
37
|
+
import { createEventDirective } from "../../directive/events/events.js";
|
|
38
|
+
import { Cache, EXPANDO } from "../cache/cache.js";
|
|
39
|
+
import { Attributes } from "./attributes.js";
|
|
40
|
+
import { ngObserveDirective } from "../../directive/observe/observe.js";
|
|
41
41
|
|
|
42
42
|
let ttl = TTL;
|
|
43
43
|
|
|
@@ -588,7 +588,6 @@ export function CompileProvider($provide, $$sanitizeUriProvider) {
|
|
|
588
588
|
: (x) => x.replace(/\{\{/g, startSymbol).replace(/}}/g, endSymbol);
|
|
589
589
|
|
|
590
590
|
const NG_PREFIX_BINDING = /^ng(Attr|Prop|On|Observe)([A-Z].*)$/;
|
|
591
|
-
const MULTI_ELEMENT_DIR_RE = /^(.+)Start$/;
|
|
592
591
|
return compile;
|
|
593
592
|
|
|
594
593
|
//= ===============================
|
|
@@ -984,17 +983,10 @@ export function CompileProvider($provide, $$sanitizeUriProvider) {
|
|
|
984
983
|
j < jj;
|
|
985
984
|
j++
|
|
986
985
|
) {
|
|
987
|
-
/** @type {string|boolean} */
|
|
988
|
-
let attrStartName = false;
|
|
989
|
-
|
|
990
|
-
/** @type {string|boolean} */
|
|
991
|
-
let attrEndName = false;
|
|
992
|
-
|
|
993
986
|
let isNgAttr = false;
|
|
994
987
|
let isNgProp = false;
|
|
995
988
|
let isNgEvent = false;
|
|
996
989
|
let isNgObserve = false;
|
|
997
|
-
let multiElementMatch;
|
|
998
990
|
|
|
999
991
|
attr = nAttrs[j];
|
|
1000
992
|
name = attr.name;
|
|
@@ -1015,15 +1007,6 @@ export function CompileProvider($provide, $$sanitizeUriProvider) {
|
|
|
1015
1007
|
.toLowerCase()
|
|
1016
1008
|
.substring(4 + ngPrefixMatch[1].length)
|
|
1017
1009
|
.replace(/_(.)/g, (match, letter) => letter.toUpperCase());
|
|
1018
|
-
|
|
1019
|
-
// Support *-start / *-end multi element directives
|
|
1020
|
-
} else if (
|
|
1021
|
-
(multiElementMatch = nName.match(MULTI_ELEMENT_DIR_RE)) &&
|
|
1022
|
-
directiveIsMultiElement(multiElementMatch[1])
|
|
1023
|
-
) {
|
|
1024
|
-
attrStartName = name;
|
|
1025
|
-
attrEndName = `${name.substring(0, name.length - 5)}end`;
|
|
1026
|
-
name = name.substring(0, name.length - 6);
|
|
1027
1010
|
}
|
|
1028
1011
|
|
|
1029
1012
|
if (isNgProp || isNgEvent) {
|
|
@@ -1066,8 +1049,6 @@ export function CompileProvider($provide, $$sanitizeUriProvider) {
|
|
|
1066
1049
|
"A",
|
|
1067
1050
|
maxPriority,
|
|
1068
1051
|
ignoreDirective,
|
|
1069
|
-
attrStartName,
|
|
1070
|
-
attrEndName,
|
|
1071
1052
|
);
|
|
1072
1053
|
}
|
|
1073
1054
|
}
|
|
@@ -1093,62 +1074,6 @@ export function CompileProvider($provide, $$sanitizeUriProvider) {
|
|
|
1093
1074
|
return directives;
|
|
1094
1075
|
}
|
|
1095
1076
|
|
|
1096
|
-
/**
|
|
1097
|
-
* Given a node with a directive-start it collects all of the siblings until it finds
|
|
1098
|
-
* directive-end.
|
|
1099
|
-
* @param {Element} node
|
|
1100
|
-
* @param {string} attrStart
|
|
1101
|
-
* @param {string} attrEnd
|
|
1102
|
-
* @returns {*}
|
|
1103
|
-
*/
|
|
1104
|
-
function groupScan(node, attrStart, attrEnd) {
|
|
1105
|
-
const nodes = [];
|
|
1106
|
-
let depth = 0;
|
|
1107
|
-
if (attrStart && node.hasAttribute && node.hasAttribute(attrStart)) {
|
|
1108
|
-
do {
|
|
1109
|
-
if (!node) {
|
|
1110
|
-
throw $compileMinErr(
|
|
1111
|
-
"uterdir",
|
|
1112
|
-
"Unterminated attribute, found '{0}' but no matching '{1}' found.",
|
|
1113
|
-
attrStart,
|
|
1114
|
-
attrEnd,
|
|
1115
|
-
);
|
|
1116
|
-
}
|
|
1117
|
-
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
1118
|
-
if (node.hasAttribute(attrStart)) depth++;
|
|
1119
|
-
if (node.hasAttribute(attrEnd)) depth--;
|
|
1120
|
-
}
|
|
1121
|
-
nodes.push(node);
|
|
1122
|
-
node = /** @type {Element} */ (node.nextSibling);
|
|
1123
|
-
} while (depth > 0);
|
|
1124
|
-
} else {
|
|
1125
|
-
nodes.push(node);
|
|
1126
|
-
}
|
|
1127
|
-
|
|
1128
|
-
return JQLite(nodes);
|
|
1129
|
-
}
|
|
1130
|
-
|
|
1131
|
-
/**
|
|
1132
|
-
* Wrapper for linking function which converts normal linking function into a grouped
|
|
1133
|
-
* linking function.
|
|
1134
|
-
* @param linkFn
|
|
1135
|
-
* @param attrStart
|
|
1136
|
-
* @param attrEnd
|
|
1137
|
-
* @returns {Function}
|
|
1138
|
-
*/
|
|
1139
|
-
function groupElementsLinkFnWrapper(linkFn, attrStart, attrEnd) {
|
|
1140
|
-
return function groupedElementsLink(
|
|
1141
|
-
scope,
|
|
1142
|
-
element,
|
|
1143
|
-
attrs,
|
|
1144
|
-
controllers,
|
|
1145
|
-
transcludeFn,
|
|
1146
|
-
) {
|
|
1147
|
-
element = groupScan(element[0], attrStart, attrEnd);
|
|
1148
|
-
return linkFn(scope, element, attrs, controllers, transcludeFn);
|
|
1149
|
-
};
|
|
1150
|
-
}
|
|
1151
|
-
|
|
1152
1077
|
/**
|
|
1153
1078
|
* A function generator that is used to support both eager and lazy compilation
|
|
1154
1079
|
* linking function.
|
|
@@ -1540,17 +1465,6 @@ export function CompileProvider($provide, $$sanitizeUriProvider) {
|
|
|
1540
1465
|
// executes all directives on the current element
|
|
1541
1466
|
for (let i = 0, ii = directives.length; i < ii; i++) {
|
|
1542
1467
|
directive = directives[i];
|
|
1543
|
-
const attrStart = directive.$$start;
|
|
1544
|
-
const attrEnd = directive.$$end;
|
|
1545
|
-
|
|
1546
|
-
// collect multiblock sections
|
|
1547
|
-
if (attrStart) {
|
|
1548
|
-
$compileNode = groupScan(
|
|
1549
|
-
/** @type {Element} */ (compileNode),
|
|
1550
|
-
attrStart,
|
|
1551
|
-
attrEnd,
|
|
1552
|
-
);
|
|
1553
|
-
}
|
|
1554
1468
|
$template = undefined;
|
|
1555
1469
|
|
|
1556
1470
|
if (terminalPriority > directive.priority) {
|
|
@@ -1898,13 +1812,11 @@ export function CompileProvider($provide, $$sanitizeUriProvider) {
|
|
|
1898
1812
|
);
|
|
1899
1813
|
const context = directive.$$originalDirective || directive;
|
|
1900
1814
|
if (isFunction(linkFn)) {
|
|
1901
|
-
addLinkFns(null, bind(context, linkFn)
|
|
1815
|
+
addLinkFns(null, bind(context, linkFn));
|
|
1902
1816
|
} else if (linkFn) {
|
|
1903
1817
|
addLinkFns(
|
|
1904
1818
|
bind(context, linkFn.pre),
|
|
1905
1819
|
bind(context, linkFn.post),
|
|
1906
|
-
attrStart,
|
|
1907
|
-
attrEnd,
|
|
1908
1820
|
);
|
|
1909
1821
|
}
|
|
1910
1822
|
} catch (e) {
|
|
@@ -1932,10 +1844,8 @@ export function CompileProvider($provide, $$sanitizeUriProvider) {
|
|
|
1932
1844
|
|
|
1933
1845
|
/// /////////////////
|
|
1934
1846
|
|
|
1935
|
-
function addLinkFns(pre, post
|
|
1847
|
+
function addLinkFns(pre, post) {
|
|
1936
1848
|
if (pre) {
|
|
1937
|
-
if (attrStart)
|
|
1938
|
-
pre = groupElementsLinkFnWrapper(pre, attrStart, attrEnd);
|
|
1939
1849
|
pre.require = directive.require;
|
|
1940
1850
|
pre.directiveName = directiveName;
|
|
1941
1851
|
if (
|
|
@@ -1947,8 +1857,6 @@ export function CompileProvider($provide, $$sanitizeUriProvider) {
|
|
|
1947
1857
|
preLinkFns.push(pre);
|
|
1948
1858
|
}
|
|
1949
1859
|
if (post) {
|
|
1950
|
-
if (attrStart)
|
|
1951
|
-
post = groupElementsLinkFnWrapper(post, attrStart, attrEnd);
|
|
1952
1860
|
post.require = directive.require;
|
|
1953
1861
|
post.directiveName = directiveName;
|
|
1954
1862
|
if (
|
|
@@ -2117,8 +2025,6 @@ export function CompileProvider($provide, $$sanitizeUriProvider) {
|
|
|
2117
2025
|
location,
|
|
2118
2026
|
maxPriority,
|
|
2119
2027
|
ignoreDirective,
|
|
2120
|
-
startAttrName,
|
|
2121
|
-
endAttrName,
|
|
2122
2028
|
) {
|
|
2123
2029
|
if (name === ignoreDirective) return false;
|
|
2124
2030
|
let match = false;
|
|
@@ -2136,12 +2042,6 @@ export function CompileProvider($provide, $$sanitizeUriProvider) {
|
|
|
2136
2042
|
(isUndefined(maxPriority) || maxPriority > directive.priority) &&
|
|
2137
2043
|
directive.restrict.indexOf(location) !== -1
|
|
2138
2044
|
) {
|
|
2139
|
-
if (startAttrName) {
|
|
2140
|
-
directive = inherit(directive, {
|
|
2141
|
-
$$start: startAttrName,
|
|
2142
|
-
$$end: endAttrName,
|
|
2143
|
-
});
|
|
2144
|
-
}
|
|
2145
2045
|
if (!directive.$$bindings) {
|
|
2146
2046
|
const bindings = (directive.$$bindings = parseDirectiveBindings(
|
|
2147
2047
|
directive,
|
|
@@ -2159,33 +2059,6 @@ export function CompileProvider($provide, $$sanitizeUriProvider) {
|
|
|
2159
2059
|
return match;
|
|
2160
2060
|
}
|
|
2161
2061
|
|
|
2162
|
-
/**
|
|
2163
|
-
* looks up the directive and returns true if it is a multi-element directive,
|
|
2164
|
-
* and therefore requires DOM nodes between -start and -end markers to be grouped
|
|
2165
|
-
* together. Example: `<div my-directive-start></div><div><div/><div my-directive-end></div>`
|
|
2166
|
-
*
|
|
2167
|
-
* @param {string} name name of the directive to look up.
|
|
2168
|
-
* @returns true if directive was registered as multi-element.
|
|
2169
|
-
*/
|
|
2170
|
-
function directiveIsMultiElement(name) {
|
|
2171
|
-
if (Object.prototype.hasOwnProperty.call(hasDirectives, name)) {
|
|
2172
|
-
for (
|
|
2173
|
-
let directive,
|
|
2174
|
-
directives = $injector.get(name + Suffix),
|
|
2175
|
-
i = 0,
|
|
2176
|
-
ii = directives.length;
|
|
2177
|
-
i < ii;
|
|
2178
|
-
i++
|
|
2179
|
-
) {
|
|
2180
|
-
directive = directives[i];
|
|
2181
|
-
if (directive.multiElement) {
|
|
2182
|
-
return true;
|
|
2183
|
-
}
|
|
2184
|
-
}
|
|
2185
|
-
}
|
|
2186
|
-
return false;
|
|
2187
|
-
}
|
|
2188
|
-
|
|
2189
2062
|
/**
|
|
2190
2063
|
* When the element is replaced with HTML template then the new attributes
|
|
2191
2064
|
* on the template need to be merged with the existing attributes in the DOM.
|
|
@@ -2800,7 +2673,7 @@ export function CompileProvider($provide, $$sanitizeUriProvider) {
|
|
|
2800
2673
|
fragment.appendChild(elementsToRemove[i]);
|
|
2801
2674
|
}
|
|
2802
2675
|
|
|
2803
|
-
if (
|
|
2676
|
+
if (Cache.has(firstElementToRemove[EXPANDO])) {
|
|
2804
2677
|
// Copy over user data (that includes AngularJS's $scope etc.). Don't copy private
|
|
2805
2678
|
// data here because there's no public interface in jQuery to do that and copying over
|
|
2806
2679
|
// event listeners (which is the main use of private data) wouldn't work anyway.
|
|
@@ -70,7 +70,6 @@
|
|
|
70
70
|
- {@link $compile#-controlleras- controllerAs}: 'stringIdentifier',
|
|
71
71
|
- {@link $compile#-bindtocontroller- bindToController}: false,
|
|
72
72
|
- {@link $compile#-require- require}: 'siblingDirectiveName', // or // ['^parentDirectiveName', '?optionalDirectiveName', '?^optionalParent'],
|
|
73
|
-
- {@link $compile#-multielement- multiElement}: false,
|
|
74
73
|
- {@link $compile#-compile- compile}: function compile(tElement, tAttrs, transclude) {
|
|
75
74
|
- return {
|
|
76
75
|
- {@link $compile#pre-linking-function pre}: function preLink(scope, iElement, iAttrs, controller) { ... },
|
|
@@ -234,13 +233,6 @@
|
|
|
234
233
|
- The directive definition object provides instructions to the {@link ng.$compile
|
|
235
234
|
- compiler}. The attributes are:
|
|
236
235
|
-
|
|
237
|
-
- #### `multiElement`
|
|
238
|
-
- When this property is set to true (default is `false`), the HTML compiler will collect DOM nodes between
|
|
239
|
-
- nodes with the attributes `directive-name-start` and `directive-name-end`, and group them
|
|
240
|
-
- together as the directive elements. It is recommended that this feature be used on directives
|
|
241
|
-
- which are not strictly behavioral (such as {@link ngClick}), and which
|
|
242
|
-
- do not manipulate or replace child nodes (such as {@link ngInclude}).
|
|
243
|
-
-
|
|
244
236
|
- #### `priority`
|
|
245
237
|
- When there are multiple directives defined on a single DOM element, sometimes it
|
|
246
238
|
- is necessary to specify the order in which the directives are applied. The `priority` is used
|