aboutsummaryrefslogtreecommitdiffstats
path: root/src/markup.js
diff options
context:
space:
mode:
authorMisko Hevery2010-03-26 16:27:18 -0700
committerMisko Hevery2010-03-26 16:27:18 -0700
commit258ca5f16581f0e8befa493644225a02ae2fc002 (patch)
treea7d67c586fb5c870619664ca84e17996f6dd2e6d /src/markup.js
parent1990cbbf2817e04657ccd616da1d9d6b78cc2949 (diff)
downloadangular.js-258ca5f16581f0e8befa493644225a02ae2fc002.tar.bz2
moved all uneeded files out, widgets.html works, tests horribly broken
Diffstat (limited to 'src/markup.js')
-rw-r--r--src/markup.js76
1 files changed, 0 insertions, 76 deletions
diff --git a/src/markup.js b/src/markup.js
deleted file mode 100644
index 5fb10779..00000000
--- a/src/markup.js
+++ /dev/null
@@ -1,76 +0,0 @@
-function parseBindings(string) {
- var results = [];
- var lastIndex = 0;
- var index;
- while((index = string.indexOf('{{', lastIndex)) > -1) {
- if (lastIndex < index)
- results.push(string.substr(lastIndex, index - lastIndex));
- lastIndex = index;
-
- index = string.indexOf('}}', index);
- index = index < 0 ? string.length : index + 2;
-
- results.push(string.substr(lastIndex, index - lastIndex));
- lastIndex = index;
- }
- if (lastIndex != string.length)
- results.push(string.substr(lastIndex, string.length - lastIndex));
- return results.length === 0 ? [ string ] : results;
-};
-
-function binding(string) {
- var binding = string.replace(/\n/gm, ' ').match(/^\{\{(.*)\}\}$/);
- return binding ? binding[1] : null;
-};
-
-function hasBindings(bindings) {
- return bindings.length > 1 || Binder.binding(bindings[0]) !== null;
-};
-
-angularTextMarkup('{{}}', function(text, textNode, parentElement) {
- var bindings = parseBindings(text),
- self = this;
- if (hasBindings(bindings)) {
- if (isLeafNode(parentElement[0])) {
- parentElement.attr('ng-bind-template', text);
- } else {
- var cursor = textNode, newElement;
- foreach(parseBindings(text), function(text){
- var exp = binding(text);
- if (exp) {
- newElement = self.element('span');
- newElement.attr('ng-bind', exp);
- } else {
- newElement = self.text(text);
- }
- cursor.after(newElement);
- cursor = newElement;
- });
- }
- textNode.remove();
- }
-});
-
-angularTextMarkup('OPTION', function(text, textNode, parentElement){
- if (parentElement[0].nodeName == "OPTION") {
- var select = document.createElement('select');
- select.insertBefore(parentElement[0].cloneNode(true), null);
- if (!select.innerHTML.match(/<option(\s.*\s|\s)value\s*=\s*.*>.*<\/\s*option\s*>/gi)) {
- parentElement.attr('value', text);
- }
- }
-});
-
-var NG_BIND_ATTR = 'ng-bind-attr';
-angularAttrMarkup('{{}}', function(value, name, element){
- if (name.substr(0, 3) != 'ng-') {
- var bindings = parseBindings(value),
- bindAttr;
- if (hasBindings(bindings)) {
- element.removeAttr(name);
- bindAttr = fromJson(element.attr(NG_BIND_ATTR) || "{}");
- bindAttr[name] = value;
- element.attr(NG_BIND_ATTR, toJson(bindAttr));
- }
- }
-});