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

feat(ng_events): directives for many DOM events #1

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 1 addition & 77 deletions lib/angular.dart
Original file line number Diff line number Diff line change
Expand Up @@ -16,80 +16,4 @@ import 'exception_handler.dart'; export 'exception_handler.dart';
import 'parser/parser_library.dart'; export 'parser/parser_library.dart';
import 'dom/all.dart'; export 'dom/all.dart';
import 'directives/all.dart'; export 'directives/all.dart';


class AngularModule extends Module {
DirectiveRegistry _directives = new DirectiveRegistry();
ControllerRegistry _controllers = new ControllerRegistry();

AngularModule() {
value(DirectiveRegistry, _directives);
value(ControllerRegistry, _controllers);
type(Compiler);
type(ExceptionHandler);
type(Scope);
type(Parser, implementedBy: DynamicParser);
type(DynamicParser);
type(Lexer);
type(ParserBackend);
type(Interpolate);
type(Http);
type(UrlRewriter);
type(HttpBackend);
type(BlockCache);
type(TemplateCache);
type(GetterSetter);
type(Profiler);
type(ScopeDigestTTL);
type(dom.NodeTreeSanitizer, implementedBy: NullTreeSanitizer);


directive(NgTextMustacheDirective);
directive(NgAttrMustacheDirective);

directive(NgBindAttrDirective);
directive(NgClassAttrDirective);
directive(NgClickAttrDirective);
directive(NgCloakAttrDirective);
directive(NgControllerAttrDirective);
directive(NgDisabledAttrDirective);
directive(NgHideAttrDirective);
directive(NgIfAttrDirective);
directive(NgIncludeAttrDirective);
directive(NgRepeatAttrDirective);
directive(NgShowAttrDirective);

directive(InputTextDirective);
directive(InputCheckboxDirective);
directive(NgModel);
}

directive(Type directive) {
_directives.register(directive);
return this;
}

controller(String name, Type controllerType) {
_controllers.register(name, controllerType);
type(controllerType);
}
}


// helper for bootstrapping angular
bootstrapAngular(modules, [rootElementSelector = '[ng-app]']) {
var allModules = new List.from(modules);
List<dom.Node> topElt = dom.query(rootElementSelector).nodes.toList();
assert(topElt.length > 0);

// The injector must be created inside the zone, so we create the
// zone manually and give it back to the injector as a value.
Zone zone = new Zone();
allModules.add(new Module()..value(Zone, zone));

zone.run(() {
Injector injector = new DynamicInjector(modules: allModules);
injector.get(Compiler)(topElt)(injector, topElt);
});
}

import 'bootstrap.dart'; export 'bootstrap.dart';
77 changes: 77 additions & 0 deletions lib/bootstrap.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
library angular;

import 'package:di/di.dart';
import 'package:di/dynamic_injector.dart';
import 'package:perf_api/perf_api.dart';

import 'dart:html' as dom; // TODO(misko): to be deleted
import 'controller.dart';

import 'zone.dart';
import 'cache.dart';
import 'interpolate.dart';
import 'dom/http.dart';
import 'scope.dart';
import 'exception_handler.dart';
import 'parser/parser_library.dart';
import 'dom/all.dart';
import 'directives/all.dart';


class AngularModule extends Module {
DirectiveRegistry _directives = new DirectiveRegistry();
ControllerRegistry _controllers = new ControllerRegistry();

AngularModule() {
value(DirectiveRegistry, _directives);
value(ControllerRegistry, _controllers);
type(Compiler);
type(ExceptionHandler);
type(Scope);
type(Parser, implementedBy: DynamicParser);
type(DynamicParser);
type(Lexer);
type(ParserBackend);
type(Interpolate);
type(Http);
type(UrlRewriter);
type(HttpBackend);
type(BlockCache);
type(TemplateCache);
type(GetterSetter);
type(Profiler);
type(ScopeDigestTTL);
type(dom.NodeTreeSanitizer, implementedBy: NullTreeSanitizer);

registerDirectives(this);
}

directive(Type directive) {
_directives.register(directive);
return this;
}

controller(String name, Type controllerType) {
_controllers.register(name, controllerType);
type(controllerType);
}
}


// helper for bootstrapping angular
bootstrapAngular(modules, [rootElementSelector = '[ng-app]']) {
var allModules = new List.from(modules);
List<dom.Node> topElt = dom.query(rootElementSelector).nodes.toList();
assert(topElt.length > 0);

// The injector must be created inside the zone, so we create the
// zone manually and give it back to the injector as a value.
Zone zone = new Zone();
allModules.add(new Module()..value(Zone, zone));

zone.run(() {
Injector injector = new DynamicInjector(modules: allModules);
injector.get(Compiler)(topElt)(injector, topElt);
});
}

52 changes: 50 additions & 2 deletions lib/directives/all.dart
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
library angular.directives.all;

import '../bootstrap.dart';

import "ng_mustache.dart";
import 'ng_bind.dart';
import 'ng_class.dart';
import 'ng_click.dart';
import 'ng_events.dart';
import 'ng_cloak.dart';
import 'ng_controller.dart';
import 'ng_disabled.dart';
Expand All @@ -17,7 +19,7 @@ import 'ng_show.dart';
export "ng_mustache.dart";
export 'ng_bind.dart';
export 'ng_class.dart';
export 'ng_click.dart';
export 'ng_events.dart';
export 'ng_cloak.dart';
export 'ng_controller.dart';
export 'ng_disabled.dart';
Expand All @@ -28,3 +30,49 @@ export 'ng_model.dart';
export 'ng_repeat.dart';
export 'ng_show.dart';

void registerDirectives(AngularModule module) {
module.directive(NgTextMustacheDirective);
module.directive(NgAttrMustacheDirective);
module.directive(NgBindAttrDirective);
module.directive(NgClassAttrDirective);
module.directive(NgCloakAttrDirective);
module.directive(NgControllerAttrDirective);
module.directive(NgDisabledAttrDirective);
module.directive(NgHideAttrDirective);
module.directive(NgIfAttrDirective);
module.directive(NgIncludeAttrDirective);
module.directive(NgRepeatAttrDirective);
module.directive(NgShowAttrDirective);
module.directive(InputTextDirective);
module.directive(InputCheckboxDirective);
module.directive(NgModel);

module.directive(NgBlurAttrDirective);
module.directive(NgChangeAttrDirective);
module.directive(NgClickAttrDirective);
module.directive(NgContextMenuAttrDirective);
module.directive(NgDragAttrDirective);
module.directive(NgDragEndAttrDirective);
module.directive(NgDragEnterAttrDirective);
module.directive(NgDragLeaveAttrDirective);
module.directive(NgDragOverAttrDirective);
module.directive(NgDragStartAttrDirective);
module.directive(NgDropAttrDirective);
module.directive(NgFocusAttrDirective);
module.directive(NgKeyDownAttrDirective);
module.directive(NgKeyPressAttrDirective);
module.directive(NgKeyUpAttrDirective);
module.directive(NgMouseDownAttrDirective);
module.directive(NgMouseEnterAttrDirective);
module.directive(NgMouseLeaveAttrDirective);
module.directive(NgMouseMoveAttrDirective);
module.directive(NgMouseOutAttrDirective);
module.directive(NgMouseOverAttrDirective);
module.directive(NgMouseUpAttrDirective);
module.directive(NgMouseWheelAttrDirective);
module.directive(NgScrollAttrDirective);
module.directive(NgTouchCancelAttrDirective);
module.directive(NgTouchEndAttrDirective);
module.directive(NgTouchMoveAttrDirective);
module.directive(NgTouchStartAttrDirective);
}
19 changes: 0 additions & 19 deletions lib/directives/ng_click.dart

This file was deleted.

Loading