Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

Commit 03d9c8d

Browse files
committed
Removed addClass, removeClass.
1 parent a8d6a6a commit 03d9c8d

File tree

1 file changed

+32
-32
lines changed

1 file changed

+32
-32
lines changed

src/ng/directive/ngId.js

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,10 @@ function idDirective(name, selector) {
88
link: function(scope, element, attr) {
99
var oldVal;
1010

11-
// ?
12-
scope.$watch(attr[name], ngClassWatchAction, true);
11+
scope.$watch(attr[name], ngIdWatchAction, true);
1312

14-
// ? What is ngClassWatchAction
1513
attr.$observe('id', function(value) {
16-
ngClassWatchAction(scope.$eval(attr[name]));
14+
ngIdWatchAction(scope.$eval(attr[name]));
1715
});
1816

1917

@@ -22,28 +20,25 @@ function idDirective(name, selector) {
2220
// jshint bitwise: false
2321
var mod = $index & 1;
2422
if (mod !== old$index & 1) {
25-
var classes = arrayClasses(scope.$eval(attr[name]));
26-
mod === selector ?
27-
addClasses(classes) :
28-
removeClasses(classes);
23+
var id = typeofId(scope.$eval(attr[name]));
24+
if (mod === selector) {
25+
replaceId(id);
26+
}
2927
}
3028
});
3129
}
3230

33-
//function addIdClasses(classes) {
34-
function addId(id) {
35-
// ? what is digestClassCounts?
36-
var newClasses = digestClassCounts(classes, 1);
37-
attr.$addClass(newClasses);
31+
// Used in place of addClass and removeClass, as it must be unique.
32+
function replaceId(id) {
33+
attr.$attr('id', id)
3834
}
3935

40-
function removeClasses(classes) {
41-
var newClasses = digestClassCounts(classes, -1);
42-
attr.$removeClass(newClasses);
36+
// New
37+
function uniqueId(id) {
38+
/* Check if the id is unique throughout the view */
4339
}
4440

4541
// This is the joining function. This shouldn't exist
46-
// There can only be one. highlander.
4742
function digestIdCounts (ids, count) {
4843
var idCounts = element.data('$idCounts') || {};
4944
var idsToUpdate = [];
@@ -76,12 +71,12 @@ function idDirective(name, selector) {
7671

7772
function ngIdWatchAction(newVal) {
7873
if (selector === true || scope.$index % 2 === selector) {
79-
var newClasses = arrayClasses(newVal || []);
74+
var newId = typeofId(newVal || []);
8075
if (!oldVal) {
81-
addClasses(newClasses);
76+
addId(newId);
8277
} else if (!equals(newVal,oldVal)) {
83-
var oldClasses = arrayClasses(oldVal);
84-
updateClasses(oldClasses, newClasses);
78+
var oldId = typeofId(oldVal);
79+
updateId(oldId, newId);
8580
}
8681
}
8782
oldVal = copy(newVal);
@@ -103,21 +98,26 @@ function idDirective(name, selector) {
10398
return values;
10499
}
105100

106-
function arrayClasses (classVal) {
107-
if (isArray(classVal)) {
108-
return classVal;
109-
} else if (isString(classVal)) {
110-
return classVal.split(' ');
111-
} else if (isObject(classVal)) {
112-
var classes = [], i = 0;
113-
forEach(classVal, function(v, k) {
101+
function typeofId (idVal) {
102+
//if (isArray(classVal)) {
103+
// return classVal;
104+
//} else if (isString(classVal)) {
105+
if (isString(idVal)) {
106+
return idVal;
107+
} else if (isObject(idVal)) {
108+
var ids = [], i = 0;
109+
forEach(idVal, function(v, k) {
110+
// This should push for all classes. That isn't ideal.
111+
// We want it to only push for one.
114112
if (v) {
115-
classes.push(k);
113+
ids.push(k);
114+
// This should make it break after the first truthy value.
115+
return ids;
116116
}
117117
});
118-
return classes;
118+
return ids;
119119
}
120-
return classVal;
120+
return idVal;
121121
}
122122
}];
123123
}

0 commit comments

Comments
 (0)