From f54db2ccda399f2677e4ca7588018cb31545a2b4 Mon Sep 17 00:00:00 2001
From: Igor Minar
Date: Thu, 8 Mar 2012 15:00:38 -0800
Subject: chore(directives,widgets): reorg the code under directive/ dir
---
angularFiles.js | 33 +-
src/directive/a.js | 29 +
src/directive/booleanAttrDirs.js | 282 ++++++++
src/directive/directives.js | 11 +
src/directive/form.js | 235 +++++++
src/directive/input.js | 1171 +++++++++++++++++++++++++++++++
src/directive/ngBind.js | 249 +++++++
src/directive/ngClass.js | 143 ++++
src/directive/ngCloak.js | 61 ++
src/directive/ngController.js | 103 +++
src/directive/ngEventDirs.js | 222 ++++++
src/directive/ngInclude.js | 119 ++++
src/directive/ngInit.js | 37 +
src/directive/ngNonBindable.js | 34 +
src/directive/ngPluralize.js | 204 ++++++
src/directive/ngRepeat.js | 182 +++++
src/directive/ngShowHide.js | 80 +++
src/directive/ngStyle.js | 42 ++
src/directive/ngSwitch.js | 110 +++
src/directive/ngTransclude.js | 58 ++
src/directive/ngView.js | 169 +++++
src/directive/script.js | 42 ++
src/directive/select.js | 444 ++++++++++++
src/directive/style.js | 6 +
src/directives.js | 1031 ---------------------------
src/markups.js | 269 --------
src/widget/form.js | 235 -------
src/widget/input.js | 1171 -------------------------------
src/widget/select.js | 444 ------------
src/widgets.js | 876 -----------------------
test/directive/aSpec.js | 46 ++
test/directive/booleanAttrDirSpecs.js | 111 +++
test/directive/formSpec.js | 205 ++++++
test/directive/inputSpec.js | 961 ++++++++++++++++++++++++++
test/directive/ngBindSpec.js | 113 +++
test/directive/ngClassSpec.js | 204 ++++++
test/directive/ngClickSpec.js | 26 +
test/directive/ngCloakSpec.js | 49 ++
test/directive/ngControllerSpec.js | 65 ++
test/directive/ngEventDirsSpec.js | 25 +
test/directive/ngIncludeSpec.js | 274 ++++++++
test/directive/ngInitSpec.js | 16 +
test/directive/ngNonBindableSpec.js | 20 +
test/directive/ngPluralizeSpec.js | 136 ++++
test/directive/ngRepeatSpec.js | 282 ++++++++
test/directive/ngShowHideSpec.js | 43 ++
test/directive/ngStyleSpec.js | 88 +++
test/directive/ngSwitchSpec.js | 63 ++
test/directive/ngViewSpec.js | 413 +++++++++++
test/directive/scriptSpec.js | 44 ++
test/directive/selectSpec.js | 855 +++++++++++++++++++++++
test/directive/styleSpec.js | 31 +
test/directivesSpec.js | 599 ----------------
test/markupSpec.js | 180 -----
test/service/compilerSpec.js | 18 +-
test/widget/formSpec.js | 205 ------
test/widget/inputSpec.js | 961 --------------------------
test/widget/selectSpec.js | 809 ----------------------
test/widgetsSpec.js | 1223 ---------------------------------
59 files changed, 8145 insertions(+), 8012 deletions(-)
create mode 100644 src/directive/a.js
create mode 100644 src/directive/booleanAttrDirs.js
create mode 100644 src/directive/directives.js
create mode 100644 src/directive/form.js
create mode 100644 src/directive/input.js
create mode 100644 src/directive/ngBind.js
create mode 100644 src/directive/ngClass.js
create mode 100644 src/directive/ngCloak.js
create mode 100644 src/directive/ngController.js
create mode 100644 src/directive/ngEventDirs.js
create mode 100644 src/directive/ngInclude.js
create mode 100644 src/directive/ngInit.js
create mode 100644 src/directive/ngNonBindable.js
create mode 100644 src/directive/ngPluralize.js
create mode 100644 src/directive/ngRepeat.js
create mode 100644 src/directive/ngShowHide.js
create mode 100644 src/directive/ngStyle.js
create mode 100644 src/directive/ngSwitch.js
create mode 100644 src/directive/ngTransclude.js
create mode 100644 src/directive/ngView.js
create mode 100644 src/directive/script.js
create mode 100644 src/directive/select.js
create mode 100644 src/directive/style.js
delete mode 100644 src/directives.js
delete mode 100644 src/markups.js
delete mode 100644 src/widget/form.js
delete mode 100644 src/widget/input.js
delete mode 100644 src/widget/select.js
create mode 100644 test/directive/aSpec.js
create mode 100644 test/directive/booleanAttrDirSpecs.js
create mode 100644 test/directive/formSpec.js
create mode 100644 test/directive/inputSpec.js
create mode 100644 test/directive/ngBindSpec.js
create mode 100644 test/directive/ngClassSpec.js
create mode 100644 test/directive/ngClickSpec.js
create mode 100644 test/directive/ngCloakSpec.js
create mode 100644 test/directive/ngControllerSpec.js
create mode 100644 test/directive/ngEventDirsSpec.js
create mode 100644 test/directive/ngIncludeSpec.js
create mode 100644 test/directive/ngInitSpec.js
create mode 100644 test/directive/ngNonBindableSpec.js
create mode 100644 test/directive/ngPluralizeSpec.js
create mode 100644 test/directive/ngRepeatSpec.js
create mode 100644 test/directive/ngShowHideSpec.js
create mode 100644 test/directive/ngStyleSpec.js
create mode 100644 test/directive/ngSwitchSpec.js
create mode 100644 test/directive/ngViewSpec.js
create mode 100644 test/directive/scriptSpec.js
create mode 100644 test/directive/selectSpec.js
create mode 100644 test/directive/styleSpec.js
delete mode 100644 test/directivesSpec.js
delete mode 100644 test/markupSpec.js
delete mode 100644 test/widget/formSpec.js
delete mode 100644 test/widget/inputSpec.js
delete mode 100644 test/widget/selectSpec.js
delete mode 100644 test/widgetsSpec.js
diff --git a/angularFiles.js b/angularFiles.js
index 0a85a8ba..09b21977 100644
--- a/angularFiles.js
+++ b/angularFiles.js
@@ -38,12 +38,29 @@ angularFiles = {
'src/service/http.js',
'src/service/httpBackend.js',
'src/service/locale.js',
- 'src/directives.js',
- 'src/markups.js',
- 'src/widgets.js',
- 'src/widget/form.js',
- 'src/widget/input.js',
- 'src/widget/select.js'
+ 'src/directive/directives.js',
+ 'src/directive/a.js',
+ 'src/directive/booleanAttrDirs.js',
+ 'src/directive/form.js',
+ 'src/directive/input.js',
+ 'src/directive/ngBind.js',
+ 'src/directive/ngClass.js',
+ 'src/directive/ngCloak.js',
+ 'src/directive/ngController.js',
+ 'src/directive/ngEventDirs.js',
+ 'src/directive/ngInclude.js',
+ 'src/directive/ngInit.js',
+ 'src/directive/ngNonBindable.js',
+ 'src/directive/ngPluralize.js',
+ 'src/directive/ngRepeat.js',
+ 'src/directive/ngShowHide.js',
+ 'src/directive/ngStyle.js',
+ 'src/directive/ngSwitch.js',
+ 'src/directive/ngTransclude.js',
+ 'src/directive/ngView.js',
+ 'src/directive/script.js',
+ 'src/directive/select.js',
+ 'src/directive/style.js'
],
'angularScenario': [
@@ -83,7 +100,7 @@ angularFiles = {
'test/*.js',
'test/service/*.js',
'test/service/filter/*.js',
- 'test/widget/*.js',
+ 'test/directive/*.js',
'example/personalLog/test/*.js'
],
@@ -143,7 +160,7 @@ angularFiles = {
'test/jstd-scenario-adapter/*.js',
'test/*.js',
'test/service/*.js',
- 'test/widget/*.js',
+ 'test/directive/*.js',
'example/personalLog/test/*.js'
],
diff --git a/src/directive/a.js b/src/directive/a.js
new file mode 100644
index 00000000..bd56f3be
--- /dev/null
+++ b/src/directive/a.js
@@ -0,0 +1,29 @@
+'use strict';
+
+/*
+ * Modifies the default behavior of html A tag, so that the default action is prevented when href
+ * attribute is empty.
+ *
+ * The reasoning for this change is to allow easy creation of action links with ng:click without
+ * changing the location or causing page reloads, e.g.:
+ * Save
+ */
+var htmlAnchorDirective = valueFn({
+ restrict: 'E',
+ compile: function(element, attr) {
+ // turn link into a link in IE
+ // but only if it doesn't have name attribute, in which case it's an anchor
+ if (!attr.href) {
+ attr.$set('href', '');
+ }
+
+ return function(scope, element) {
+ element.bind('click', function(event){
+ // if we have no href url, then don't navigate anywhere.
+ if (!element.attr('href')) {
+ event.preventDefault();
+ }
+ });
+ }
+ }
+});
diff --git a/src/directive/booleanAttrDirs.js b/src/directive/booleanAttrDirs.js
new file mode 100644
index 00000000..06b85823
--- /dev/null
+++ b/src/directive/booleanAttrDirs.js
@@ -0,0 +1,282 @@
+'use strict';
+
+/**
+ * @ngdoc directive
+ * @name angular.module.ng.$compileProvider.directive.ng:href
+ *
+ * @description
+ * Using
+ * + *+ * + * The correct way to write it: + *
+ * + *+ * + * @element ANY + * @param {template} template any string which can contain `{{}}` markup. + * + * @example + * This example uses `link` variable inside `href` attribute: +
+ *+ * + * The correct way to write it: + *+ *
+ *+ * + * @element ANY + * @param {template} template any string which can contain `{{}}` markup. + */ + +/** + * @ngdoc directive + * @name angular.module.ng.$compileProvider.directive.ng:disabled + * + * @description + * + * The following markup will make the button enabled on Chrome/Firefox but not on IE8 and older IEs: + *+ *
+ *+ * + * The HTML specs do not require browsers to preserve the special attributes such as disabled. + * (The presence of them means true and absence means false) + * This prevents the angular compiler from correctly retrieving the binding expression. + * To solve this problem, we introduce ng:disabled. + * + * @example ++ * + *+ *